<?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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Michael Sync</title>
	
	<link>http://michaelsync.net</link>
	<description>Sharing our knowledge</description>
	<lastBuildDate>Tue, 03 Nov 2009 02:56:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/MichaelSync" type="application/rss+xml" /><feedburner:emailServiceId>MichaelSync</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>Prism version 2.1 released</title>
		<link>http://feedproxy.google.com/~r/MichaelSync/~3/uaYSLORVZiY/prism-version-2-1-released</link>
		<comments>http://michaelsync.net/2009/11/02/prism-version-2-1-released#comments</comments>
		<pubDate>Tue, 03 Nov 2009 02:56:26 +0000</pubDate>
		<dc:creator>Michael Sync</dc:creator>
				<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://michaelsync.net/?p=1512</guid>
		<description><![CDATA[Great!! We got new version of Prism. You can go and get the latest from this link. Good thing about this release is that they have fixed the Delegate Memory Leak issue (Ref:Memory Leak caused by DelegateCommand.CanExecuteChanged Event) by using WeakEvent pattern. Another good thing is that Prism now supports Silverlight 3. Thanks a lot, [...]]]></description>
			<content:encoded><![CDATA[<p>Great!! We got new version of Prism. You can go and get the latest from <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=387c7a59-b217-4318-ad1b-cbc2ea453f40">this link</a>. Good thing about this release is that they have fixed the <strong>Delegate Memory Leak</strong> issue (<a href="http://compositewpf.codeplex.com/WorkItem/View.aspx?WorkItemId=4065">Ref:Memory Leak caused by DelegateCommand.CanExecuteChanged Event</a>) by using <a href="http://msdn.microsoft.com/en-us/library/aa970850.aspx">WeakEvent pattern</a>. Another good thing is that Prism now supports <a href="http://silverlight.net/getstarted/silverlight3/">Silverlight 3</a>. Thanks a lot, Prism team.. :)</p>
<p>Please take a look at the changes in this page. <a href="http://msdn.microsoft.com/en-us/library/ee712881.aspx">http://msdn.microsoft.com/en-us/library/ee712881.aspx</a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/WQUhgcMqablfsuXnBF38ebXVQYY/0/da"><img src="http://feedads.g.doubleclick.net/~a/WQUhgcMqablfsuXnBF38ebXVQYY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WQUhgcMqablfsuXnBF38ebXVQYY/1/da"><img src="http://feedads.g.doubleclick.net/~a/WQUhgcMqablfsuXnBF38ebXVQYY/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MichaelSync?a=uaYSLORVZiY:BaJa9GIaV-g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=uaYSLORVZiY:BaJa9GIaV-g:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=uaYSLORVZiY:BaJa9GIaV-g:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=uaYSLORVZiY:BaJa9GIaV-g:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=uaYSLORVZiY:BaJa9GIaV-g:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=uaYSLORVZiY:BaJa9GIaV-g:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=uaYSLORVZiY:BaJa9GIaV-g:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=uaYSLORVZiY:BaJa9GIaV-g:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=uaYSLORVZiY:BaJa9GIaV-g:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=uaYSLORVZiY:BaJa9GIaV-g:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=uaYSLORVZiY:BaJa9GIaV-g:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=uaYSLORVZiY:BaJa9GIaV-g:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=uaYSLORVZiY:BaJa9GIaV-g:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=uaYSLORVZiY:BaJa9GIaV-g:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=uaYSLORVZiY:BaJa9GIaV-g:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=uaYSLORVZiY:BaJa9GIaV-g:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MichaelSync/~4/uaYSLORVZiY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michaelsync.net/2009/11/02/prism-version-2-1-released/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://michaelsync.net/2009/11/02/prism-version-2-1-released</feedburner:origLink></item>
		<item>
		<title>.NET Runtime version 2.0.50727.3603 – Fatal Execution Engine Error (7A036050) (80131506) – mscoree.dll</title>
		<link>http://feedproxy.google.com/~r/MichaelSync/~3/BDHPtOtmBP8/net-runtime-version-2-0-50727-3603-fatal-execution-engine-error-7a036050-80131506-mscoree-dll</link>
		<comments>http://michaelsync.net/2009/10/31/net-runtime-version-2-0-50727-3603-fatal-execution-engine-error-7a036050-80131506-mscoree-dll#comments</comments>
		<pubDate>Sat, 31 Oct 2009 10:05:01 +0000</pubDate>
		<dc:creator>Michael Sync</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://michaelsync.net/?p=1493</guid>
		<description><![CDATA[If you are coming from Google, I&#8217;m sure that you are having problems that Visual Studio 2008 keep on crashing without showing any message or error when you are trying to open the resource files, XAML or the properties page of your project.
If you look at Event Viewer, you will see this error message &#8220;.NET [...]]]></description>
			<content:encoded><![CDATA[<p>If you are coming from Google, I&#8217;m sure that you are having problems that Visual Studio 2008 keep on crashing without showing any message or error when you are trying to open the resource files, XAML or the properties page of your project.</p>
<p>If you look at Event Viewer, you will see this error message &#8220;<strong>.NET Runtime version 2.0.50727.3603 &#8211; Fatal Execution Engine Error (7A036050) (80131506)</strong>&#8221;</p>
<p>Here is the screenshot that I took when I was having this error.</p>
<p><img class="aligncenter size-full wp-image-1497" title="2. .NET Runtime 2.0.50727.3603 - Fatal Execution Engine Error (7A036050) (80131506)" src="http://michaelsync.net/wp-content/uploads/2009/10/2.-.NET-Runtime-2.0.50727.3603-Fatal-Execution-Engine-Error-7A036050-80131506.JPG" alt="2. .NET Runtime 2.0.50727.3603 - Fatal Execution Engine Error (7A036050) (80131506)" width="681" height="376" /></p>
<p>If you click on Red Icon then you will see the error message in details as below.</p>
<p><img class="aligncenter size-full wp-image-1498" title="3. .NET Runtime 2.0.50727.3603 - Fatal Execution Engine Error (7A036050) (80131506) - Details" src="http://michaelsync.net/wp-content/uploads/2009/10/3.-.NET-Runtime-2.0.50727.3603-Fatal-Execution-Engine-Error-7A036050-80131506-Details.JPG" alt="3. .NET Runtime 2.0.50727.3603 - Fatal Execution Engine Error (7A036050) (80131506) - Details" width="404" height="455" /></p>
<p>How to fix then? Yes. it&#8217;s very simple. Microsoft already released the fix for this issue. You can go and download it from <a href="https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=16827">this link</a>.  As you can see the screenshot below, there are 6 files for you to download. You can download the required files based on your processor. If you are using x84 then you just need to download <strong>NDP20SP2-KB963676-x86.exe  and Windows6.0-KB963676-x86.ms</strong>u only.</p>
<p><img class="aligncenter size-full wp-image-1503" title="hot fix" src="http://michaelsync.net/wp-content/uploads/2009/10/hot-fix.png" alt="hot fix" width="611" height="207" /></p>
<p>You downloaded all files and you should get KB963676 folder that contains all six files that you need.</p>
<p><img class="aligncenter size-full wp-image-1499" title="HotFix Download" src="http://michaelsync.net/wp-content/uploads/2009/10/HotFix-Download.JPG" alt="HotFix Download" width="576" height="538" /></p>
<p>Here is the step for installing this fix.</p>
<p>1. Double-click on <strong>NDP20SP2-KB963676-x86.exe</strong>. You will see the welcome screen below. Please click on &#8220;Next&#8221; button.</p>
<p><img class="aligncenter size-full wp-image-1495" title="1. NDP20SP2-KB963676-x86 - Welcome" src="http://michaelsync.net/wp-content/uploads/2009/10/1.-NDP20SP2-KB963676-x86-Welcome.JPG" alt="1. NDP20SP2-KB963676-x86 - Welcome" width="503" height="474" /></p>
<p>2. Check &#8220;I have read and accept the license terms&#8221;</p>
<p><img class="aligncenter size-full wp-image-1500" title="2. NDP20SP2-KB963676-x86 - License" src="http://michaelsync.net/wp-content/uploads/2009/10/2.-NDP20SP2-KB963676-x86-License.JPG" alt="2. NDP20SP2-KB963676-x86 - License" width="503" height="474" /></p>
<p>3. Please wait for a while while installing.</p>
<p><img class="aligncenter size-full wp-image-1501" title="3. Processing" src="http://michaelsync.net/wp-content/uploads/2009/10/3.-Processing.JPG" alt="3. Processing" width="503" height="474" /></p>
<p>4. You will see the screen once installation is completed.</p>
<p><img class="aligncenter size-full wp-image-1502" title="4. Finsihed" src="http://michaelsync.net/wp-content/uploads/2009/10/4.-Finsihed.JPG" alt="4. Finsihed" width="503" height="474" /></p>
<p>Then, you can re-open your Visual Studio and try to open the resource files or etc. You should be able to open it without any crash. Good luck!</p>
<p><em>Note: I&#8217;m writing this post for documentation purpose so I added full of pictures and detailed steps. I hope people can use it as a reference whenever they are having the same problem with VS. </em></p>

<p><a href="http://feedads.g.doubleclick.net/~a/jWGMe8v-qvahYPafuBr3cz8Z_QU/0/da"><img src="http://feedads.g.doubleclick.net/~a/jWGMe8v-qvahYPafuBr3cz8Z_QU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jWGMe8v-qvahYPafuBr3cz8Z_QU/1/da"><img src="http://feedads.g.doubleclick.net/~a/jWGMe8v-qvahYPafuBr3cz8Z_QU/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MichaelSync?a=BDHPtOtmBP8:qM1YRSKTQkA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=BDHPtOtmBP8:qM1YRSKTQkA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=BDHPtOtmBP8:qM1YRSKTQkA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=BDHPtOtmBP8:qM1YRSKTQkA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=BDHPtOtmBP8:qM1YRSKTQkA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=BDHPtOtmBP8:qM1YRSKTQkA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=BDHPtOtmBP8:qM1YRSKTQkA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=BDHPtOtmBP8:qM1YRSKTQkA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=BDHPtOtmBP8:qM1YRSKTQkA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=BDHPtOtmBP8:qM1YRSKTQkA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=BDHPtOtmBP8:qM1YRSKTQkA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=BDHPtOtmBP8:qM1YRSKTQkA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=BDHPtOtmBP8:qM1YRSKTQkA:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=BDHPtOtmBP8:qM1YRSKTQkA:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=BDHPtOtmBP8:qM1YRSKTQkA:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=BDHPtOtmBP8:qM1YRSKTQkA:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MichaelSync/~4/BDHPtOtmBP8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michaelsync.net/2009/10/31/net-runtime-version-2-0-50727-3603-fatal-execution-engine-error-7a036050-80131506-mscoree-dll/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://michaelsync.net/2009/10/31/net-runtime-version-2-0-50727-3603-fatal-execution-engine-error-7a036050-80131506-mscoree-dll</feedburner:origLink></item>
		<item>
		<title>Last Day in Xuenn</title>
		<link>http://feedproxy.google.com/~r/MichaelSync/~3/EqnM-NYBGKk/last-day-in-xuenn</link>
		<comments>http://michaelsync.net/2009/10/16/last-day-in-xuenn#comments</comments>
		<pubDate>Fri, 16 Oct 2009 07:27:20 +0000</pubDate>
		<dc:creator>Michael Sync</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://michaelsync.net/?p=1489</guid>
		<description><![CDATA[Note: This post is written on Oct 16, 2009.
This is my last day in Xuenn. I remember the day that I decided to accept their offer even I had a few offers from serveral companies (including NCS, UTAC, AsiaSoft and etc). I was so excited at that time because I was told that I&#8217;m going [...]]]></description>
			<content:encoded><![CDATA[<p style="padding-left: 30px; ">Note: This post is written on Oct 16, 2009.</p>
<p>This is my last day in Xuenn. I remember <a href="http://michaelsync.net/2008/07/04/what-im-doing-these-days">the day that I decided to accept their offer</a> even I had a few offers from serveral companies (including NCS, UTAC, AsiaSoft and etc). I was so excited at that time because I was told that I&#8217;m going to work with latest technoliges (e.g. WPF, Silverlight), TDD and Agile (Scrum).  (There are only  a few companies that are actually using latest technologies for their projects. The most of companies are still using ASP.NET  1.1 or 2.0, winform, CRM, Sharepoint and etc so it&#8217;s really hard to find the companies that use the latest technolgies and pay well.) And also, Online gambling and sport betting domain was very new to me and I don&#8217;t mind learning new domain so I accepted the offer right away.</p>
<p>Here are the things that I&#8217;ve done in that company.</p>
<ul>
<li><strong>Design Pattern in details </strong>: I&#8217;ve been working with design pattern since 2005 when I was working in India. I was using very simple design pattern like Singleton, Observer and etc at that time. After that, I joined to <a href="http://michaelsync.net/2007/07/06/it-has-been-a-while">UTAC company around 2007</a> and I got more chance to use the design pattern (especially <a href="http://msdn.microsoft.com/en-us/magazine/cc188690.aspx">MVP (Model-View-Presenter)</a> pattern, Factory pattern, Building pattern, Event Aggregator pattern and etc ) since that company is using <a href="http://msdn.microsoft.com/en-us/library/aa480450.aspx">CAB (Composite Application Block)</a>, <a href="http://msdn.microsoft.com/en-us/library/aa480482.aspx">SCSF (Smart Client Software Factory)</a> for their semi-conduction manufacturing related project. I joined to Xuenn last year. As I need to design the base architecture of WPF application and need to conduct a lot of technical interview, I have learnt all of GoF (Gang of Four) pattern, MVVM (<a href="http://martinfowler.com/eaaDev/PresentationModel.html">Presentation Model</a>) patterns in details. ( Yes, when you are either designing the software or conducting the interview for those who are familiar with design pattern, you must have good understanding about those patterns. Otherwise, you might have hired wrong person for projects and your project will screw up at the end.) A few good websites (like <a href="http://www.dofactory.com/Patterns/Patterns.aspx">dofactory.com</a> or <a href="http://c2.com/cgi/wiki?PeopleProjectsAndPatterns">c2.com</a>) and good books (e.g. <a href="http://oreilly.com/catalog/9780596007126">Head First Design Pattern</a> and <a href="http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612">Gof: Design Patterns: Elements of Reusable Object-Oriented Software</a>) are extremely useful if you want to learn about patterns. But reading books and knowing the theory are not good enough. You actually need to use them in your real project regularly.</li>
<li><strong>Designed the architecture of  WPF/Silverlight projects </strong>: I participated in designing the whole architecture of WPF/Silverlight projects. I did a lot of researches for implementing security and authentication, localizaition, template themeing, WPF and Silverlight compatibility, Prism framework, patterns (MVVM, DI) and etc. I &#8216;m glad that we successfully implemented all of them for our projects.</li>
<li><strong>Composite Application Library (a.k.a Prism) and Unity</strong> : I&#8217;ve been using Prism version 2 since P&amp;P team distributes early drop before they release. So, I got a chance to get very familiar with those frameworks in that company. I even manged to contribute <a href="http://michaelsync.net/2008/08/08/unity-for-silverlight-two-samples-and-test-projects-are-on-codeplex-now">some</a> of my source code to <a href="http://www.codeplex.com/CompositeWPFContrib">Prism Contrib</a>, <a href="http://www.codeplex.com/unity/">Unity Contrib projects</a>. We implemented two styles of MVVM pattern in our project. One of them was <a href="http://blogs.southworks.net/jdominguez/2008/09/presentation-model-with-datatemplates-in-compositewpf-prism-sample/">Julian&#8217;s approach (PresentationModel with DataTemplate)</a>.</li>
<li><strong>TDD, BDD, DDD</strong> : I noticed that people like DD these days. With the help of my good friends, I was getting more into those DD terms &#8211; TDD (Test-Driven Development), BDD (Behivor-Driven Development) and DDD (Domain-Driven Development). I didn&#8217;t practice much in that company but those DD become something that I want to explore more in my current company.</li>
<li><strong>Lead a small application team</strong> : There was two major WPF teams in our company. I was taking care of one team. As the most of people in my team are very new to WPF, MVVM pattern and Asynchronous services, I had to support them until they got familiar with our achitecture. As you all know, I&#8217;m a community guy and I do enjoy helping other people so it was fun to guide them how to do things in WPF or Silverlight.</li>
<li><strong>Participated in interviewing and recruting people</strong> : I contacted a lot of face-to-face interview or phone interview when we were actively recuriting people for our project. It consumed a lot of my time but I know that it&#8217;s good experience to have in my career.</li>
<li><strong>Recreation Club</strong> : I was a part of the recreation club and we used to organize a lot of events (outing, sport activities and etc) for our stuffs. It was fun.</li>
</ul>
<p>Needless to say, I had great time working with them. I wish them to have project success in future&#8230;</p>

<p><a href="http://feedads.g.doubleclick.net/~a/_1TWafbAI8VMijJRacyYqsG-cNw/0/da"><img src="http://feedads.g.doubleclick.net/~a/_1TWafbAI8VMijJRacyYqsG-cNw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/_1TWafbAI8VMijJRacyYqsG-cNw/1/da"><img src="http://feedads.g.doubleclick.net/~a/_1TWafbAI8VMijJRacyYqsG-cNw/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MichaelSync?a=EqnM-NYBGKk:MUKNwzwShyQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=EqnM-NYBGKk:MUKNwzwShyQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=EqnM-NYBGKk:MUKNwzwShyQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=EqnM-NYBGKk:MUKNwzwShyQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=EqnM-NYBGKk:MUKNwzwShyQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=EqnM-NYBGKk:MUKNwzwShyQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=EqnM-NYBGKk:MUKNwzwShyQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=EqnM-NYBGKk:MUKNwzwShyQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=EqnM-NYBGKk:MUKNwzwShyQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=EqnM-NYBGKk:MUKNwzwShyQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=EqnM-NYBGKk:MUKNwzwShyQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=EqnM-NYBGKk:MUKNwzwShyQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=EqnM-NYBGKk:MUKNwzwShyQ:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=EqnM-NYBGKk:MUKNwzwShyQ:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=EqnM-NYBGKk:MUKNwzwShyQ:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=EqnM-NYBGKk:MUKNwzwShyQ:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MichaelSync/~4/EqnM-NYBGKk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michaelsync.net/2009/10/16/last-day-in-xuenn/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://michaelsync.net/2009/10/16/last-day-in-xuenn</feedburner:origLink></item>
		<item>
		<title>An Early Look at Silverlight Model-View-ViewModel Toolkit 1</title>
		<link>http://feedproxy.google.com/~r/MichaelSync/~3/2ei_KoPeVzE/an-early-look-at-silverlight-model-view-viewmodel-toolkit-1</link>
		<comments>http://michaelsync.net/2009/06/14/an-early-look-at-silverlight-model-view-viewmodel-toolkit-1#comments</comments>
		<pubDate>Sun, 14 Jun 2009 11:33:28 +0000</pubDate>
		<dc:creator>Michael Sync</dc:creator>
				<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://michaelsync.net/?p=1433</guid>
		<description><![CDATA[Introduction
This post is just an early look of upcoming Silverlight Model-View-ViewModel Toolkit. I know that this is very early state but I&#8217;m writing about this here because I would like to get the feedbacks from the community so that I can prioritize the plans based on what the community want. If you are a fan [...]]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>This post is just an early look of upcoming Silverlight Model-View-ViewModel Toolkit. I know that this is very early state but I&#8217;m writing about this here because I would like to get the feedbacks from the community so that I can prioritize the plans based on what the community want. If you are a fan of <a href="http://wpf.codeplex.com/Wiki/View.aspx?title=WPF%20Model-View-ViewModel%20Toolkit" target="_blank">WPF MVVM Toolkit</a> then you will probably like it.</p>
<p style="text-align: center;"><img style="display: block; margin-left: auto; margin-right: auto; border: 0px initial initial;" title="Silverlight MVVM Toolkit" src="http://michaelsync.net/wp-content/uploads/2009/06/Silverlight-MVVM-Toolkit.jpg" alt="Silverlight MVVM Toolkit" width="489" height="48" /></p>
<p><strong>Download :</strong> <a href="http://michaelsync.net/demo/SilverlightModelViewApplication.zip">SilverlightModelViewApplication.zip (15 KB)</a></p>
<h2>Features</h2>
<p>The toolkit includes:</p>
<ul>
<li>A Visual Studio 2008 Project Template</li>
<li>Silverlight Command Implementation</li>
<li>ViewModelBase that implements INotifyPropertyChanged interface</li>
</ul>
<h2>What is Silverlight MVVM Toolkit?</h2>
<p>Silverlight MVVM Toolkit is a Visual Studio project template that has some useful pre-written implementations for Silverlight Command and INotifyPropertyChanged interface. The main intention of creating this toolkit is to help developers to develop the MVVM pattern-based Silverlight application quickly.</p>
<p>I&#8217;ve been using this template since a few weeks ago and I found it quite useful because whenever I need to create some samples for my blog or the POC projects for my Office, I always need to create a ViewModal class that implements INotifyPropertyChanged interface and need to add the Prism V2 assembly as a reference in my sample for using DelegateCommand. When I look at WPF MVVM toolkit, I really like it because it saves a lot of my times for copying and pasting the old code from my old sample to new sample. After using WPF MVVM toolkit, I was thinking why not create a project template for Silverlight as well. and now, I did it.</p>
<p>The project template is already attached in this post so you can download and test it in your machine. The msi file for that template is not ready yet but I will show you very simple steps (just two steps only) to make it visible in Project Template Dialog of Visual Studio 2008.</p>
<h2>How to install Silverlight Model-View-ViewModel Toolkit</h2>
<p>Please download the zip file (Don&#8217;t extract it) and close all Visual Studio 2008 instances before following the steps below ~</p>
<p><strong>Step #1:</strong> Copy and paste SilverlightModelViewApplication.zip under this path below</p>
<p>%ProgramFiles%\Microsoft Visual Studio 9.0\<br />
Common7\IDE\ProjectTemplates\CSharp\Silverlight\1033</p>
<ul><img class="alignnone size-full wp-image-1435" title="VS Project Template" src="http://michaelsync.net/wp-content/uploads/2009/06/VS-Project-Template.jpg" alt="VS Project Template" width="476" height="397" /></ul>
<p><strong>Step #2.</strong> Open Visual Studio 2008 Command Prompt and type &#8220;deven /setup&#8221;</p>
<p><img class="alignnone size-full wp-image-1436" title="commandline" src="http://michaelsync.net/wp-content/uploads/2009/06/commandline.jpg" alt="commandline" width="508" height="334" /></p>
<p>Yes. That&#8217;s all for installing new project template for Visual Studio.</p>
<h2><span style="font-weight: normal; font-size: 13px;">Once you have finished registering new project template, you open the Visual Studio 2008 and check &#8220;New Project&#8221; dialog.  Then, you will get new project template &#8220;Silverlight Model View Application&#8221; under Silverlight project type as shown in picture below.</span></h2>
<p><img class="aligncenter size-full wp-image-1437" title="Silverlight MVVM Template in VS" src="http://michaelsync.net/wp-content/uploads/2009/06/Silverlight-MVVM-Template-in-VS.jpg" alt="Silverlight MVVM Template in VS" width="563" height="195" /></p>
<p>Choose that template to create a Silverlight MVVM appliction. Note that linking with ASP.NET project, enabling the RIA service and generating unit-test project are not availble in this template but I will add all of this later.</p>
<p>The structure of Silverlight MVVM project is as below.</p>
<p><img class="aligncenter size-full wp-image-1447" title="Silverlight MVVM Folder Structure" src="http://michaelsync.net/wp-content/uploads/2009/06/Silverlight-MVVM-Folder-Structure.jpg" alt="Silverlight MVVM Folder Structure" width="304" height="250" /></p>
<h2>Commends</h2>
<p>Let&#8217;s talk about classes under Commands.  The Command implementation that I&#8217;m using in this toolkit is from <a href="http://www.codeplex.com/CompositeWPF">CompositeWPF version 2</a>. I know that I can probably roll my own implementation but I&#8217;ve been using Prism for long time and DelegateCommand is working perfectly fine so I dont think that I need to waste my time to do the duplicated things. Please feel free to let me know if you found something that is not supported by DelegateCommand.</p>
<p>Here is the examples for using DelegateCommand.</p>
<p><strong>XAML</strong></p>
<pre class="brush: xml;">

xmlns:cmd=&quot;clr-namespace:SilverlightModelViewApplication4.Commands&quot;
</pre>
<p>Here is how you can use Command Binding and CommandParameter in Silverlight.  ( The earlier implementation of Prism v2 is cmd.Command.Click but Prism team re-named this to Click.Command at drop 9.  You can read <a href="http://compositewpf.codeplex.com/Thread/View.aspx?ThreadId=44824">this post</a> if you like to know why they did the changes)</p>
<pre class="brush: xml;">

&lt;Button
cmd:Click.Command=&quot;{Binding SearchCommand}&quot;
cmd:Click.CommandParameter=&quot;This is a CommandParameter&quot;
/&gt;
</pre>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2503px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">
<pre class="brush: xml;">&lt;/div&gt;
&lt;div id=&quot;_mcePaste&quot; style=&quot;position: absolute; left: -10000px; top: 2503px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;&quot;&gt;&lt;Button&lt;/div&gt;
&lt;div id=&quot;_mcePaste&quot; style=&quot;position: absolute; left: -10000px; top: 2503px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;&quot;&gt;cmd:Click.Command=&quot;{Binding SearchCommand}&quot;&lt;/div&gt;
&lt;div id=&quot;_mcePaste&quot; style=&quot;position: absolute; left: -10000px; top: 2503px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;&quot;&gt;cmd:Click.CommandParameter=&quot;This is a CommandParameter&quot;&lt;/div&gt;
&lt;div id=&quot;_mcePaste&quot; style=&quot;position: absolute; left: -10000px; top: 2503px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;&quot;&gt;/&gt;&lt;/div&gt;
&lt;div id=&quot;_mcePaste&quot; style=&quot;position: absolute; left: -10000px; top: 2503px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;&quot;&gt;</pre>
</div>
<p><strong>C#</strong></p>
<pre class="brush: csharp;">

public DelegateCommand&lt;string&gt; SearchCommand { get; set; }

//Construtor
public MainPageViewModel()
{

SearchCommand = new DelegateCommand&lt;string&gt;((arg) =&gt;
{
MessageBox.Show(arg);
});

}
</pre>
<h2>INotifyPropertyChanged implementation</h2>
<p>Some of you might know that I wrote about how to implement INotifyPropertyChanged interface with Expression Tree so you don&#8217;t need to use any magic string in property setter.  If you haven&#8217;t read it yet, please go and read <a href="http://michaelsync.net/2009/04/09/silverlightwpf-implementing-propertychanged-with-expression-tree">this post</a> to get some idea. I implemented the same implementation in ViewModelBase class of this toolkit so you can probably use this feature as below in ViewModel class.</p>
<pre class="brush: csharp;">

//Example: How to use RaisePropertyChanged without having any magic string.

private string name = string.Empty;

public string Name
{
get { return name; }
set {
name = value;
this.RaisePropertyChanged(p =&gt; p.Name);
}
}
</pre>
<h2>Upcoming Features ~</h2>
<ul>
<li>A Project Template Waziard for linking with ASP.NET, enabling RIA Services and generating a Text project that has the references o Silverlight Unit Test Framework and Silverlight Moq</li>
<li>A C# and VB.NET project template that supports all editions (inlcuding express edition) of Visual Studio 2008</li>
<li>Creating a msi installer by using <a href="http://wix.sourceforge.net/">Windows Installer XML (WiX) toolset</a></li>
</ul>
<h2>Questions?</h2>
<p>I have a few questions for you guys.</p>
<ol>
<li>What kind of functionalities do you guys like to see in this toolkit? For example: Extensions/Attached properties, Utilities and etc</li>
<li>Do you think that I should create an installer (msi) for that? OR is it okay to have zip file and register it by youself with two simple steps? I&#8217;m asking you this because in order to create a msi, I will probably need to spend some times for learning <a href="http://wix.sourceforge.net/">Windows Installer XML (WiX) toolset</a>. So, if you guys are okay with two simple steps, I can work on other things first.</li>
</ol>
<p>Feel free to drop a comment if you have any comment or suggestion for this toolkit. If you already have similar things in your mind, please let me know. We can work together to contribute our community. You can also reach me with this email mchlsync AT gmail DOT com.</p>
<p>I will be hosting this project in codeplex.com once it&#8217;s ready.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/oXI0D6LAMHwyJ0SILVwSx91KWsA/0/da"><img src="http://feedads.g.doubleclick.net/~a/oXI0D6LAMHwyJ0SILVwSx91KWsA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/oXI0D6LAMHwyJ0SILVwSx91KWsA/1/da"><img src="http://feedads.g.doubleclick.net/~a/oXI0D6LAMHwyJ0SILVwSx91KWsA/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MichaelSync?a=2ei_KoPeVzE:IpVvm5lz9LA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=2ei_KoPeVzE:IpVvm5lz9LA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=2ei_KoPeVzE:IpVvm5lz9LA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=2ei_KoPeVzE:IpVvm5lz9LA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=2ei_KoPeVzE:IpVvm5lz9LA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=2ei_KoPeVzE:IpVvm5lz9LA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=2ei_KoPeVzE:IpVvm5lz9LA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=2ei_KoPeVzE:IpVvm5lz9LA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=2ei_KoPeVzE:IpVvm5lz9LA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=2ei_KoPeVzE:IpVvm5lz9LA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=2ei_KoPeVzE:IpVvm5lz9LA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=2ei_KoPeVzE:IpVvm5lz9LA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=2ei_KoPeVzE:IpVvm5lz9LA:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=2ei_KoPeVzE:IpVvm5lz9LA:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=2ei_KoPeVzE:IpVvm5lz9LA:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=2ei_KoPeVzE:IpVvm5lz9LA:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MichaelSync/~4/2ei_KoPeVzE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michaelsync.net/2009/06/14/an-early-look-at-silverlight-model-view-viewmodel-toolkit-1/feed</wfw:commentRss>
		<slash:comments>24</slash:comments>
		<feedburner:origLink>http://michaelsync.net/2009/06/14/an-early-look-at-silverlight-model-view-viewmodel-toolkit-1</feedburner:origLink></item>
		<item>
		<title>Silverlight Attached Properties: Binding.UpdateSourceTrigger.PropertyChanged</title>
		<link>http://feedproxy.google.com/~r/MichaelSync/~3/tbivqjQfFtA/silverlight-attached-properties-bindingupdatesourcetriggerpropertychanged</link>
		<comments>http://michaelsync.net/2009/06/10/silverlight-attached-properties-bindingupdatesourcetriggerpropertychanged#comments</comments>
		<pubDate>Wed, 10 Jun 2009 07:50:20 +0000</pubDate>
		<dc:creator>Michael Sync</dc:creator>
				<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://michaelsync.net/?p=1303</guid>
		<description><![CDATA[Note: It is one of my answers from Silverlight Forum.
Problems
UpdateSourceTrigger is not supported in Silverlight until version 3.o.
Workaround
You will need to set the focus on other controls and re-focus to the control that you are using. For example: You are typing in TextBoxA. You want to have UpdateSourceTrigger support for that textbox. So, what you have [...]]]></description>
			<content:encoded><![CDATA[<p>Note: It is <a href="http://silverlight.net/forums/t/11547.aspx">one</a> of my answers from Silverlight Forum.</p>
<h2>Problems</h2>
<p>UpdateSourceTrigger is not supported in Silverlight until version 3.o.</p>
<h2>Workaround</h2>
<p>You will need to set the focus on other controls and re-focus to the control that you are using. For example: You are typing in TextBoxA. You want to have UpdateSourceTrigger support for that textbox. So, what you have to do is that you need to change the focus on another control (e.g. TextboxB) and re-set the focus on TextboxA while typing.</p>
<p>Yes. you can do it very easily from code-behind. But ( genius? ) people from pattern world don&#8217;t like the idea of using code-behind file (so, creating a code-behind file for each and every xaml in Visual Stuid is a waste? What about changing the default pattern (MVC) to MVVM in Visual Stuido Template? ) Anyway, let me get back to the topic. So, we can probably create an attached property to workaround the UpdateSourceTrigger in Silverlight.</p>
<p><strong>Note: This code is just giving you some idea how you can workaround the issue. You will need to do the modification based on your need. </strong></p>
<p>Let&#8217;s name our attached property aS &#8220;UpdateSourceTriggerHelper&#8221;. We will add some codes for registering the property and getter/setter as below. I will tell you more about OnUpdateSourceTriggerChanged</p>
<pre class="brush: csharp;">

public class UpdateSourceTriggerHelper
{
public static readonly DependencyProperty UpdateSourceTriggerProperty =
DependencyProperty.RegisterAttached(&quot;UpdateSourceTrigger&quot;, typeof(bool), typeof(UpdateSourceTriggerHelper),
new PropertyMetadata(OnUpdateSourceTriggerChanged));

public static bool GetUpdateSourceTrigger(DependencyObject d)
{
return (bool)d.GetValue(UpdateSourceTriggerProperty);
}

public static void SetUpdateSourceTrigger(DependencyObject d, bool value)
{
d.SetValue(UpdateSourceTriggerProperty, value);
}
</pre>
<p>In OnUpdateSourceTriggerChanged method, we are going to add the logic for focusing other controls and re-setting the focus back to the original control. So, we need to walk throught the Visual Tree to get the object of other control. Please take a look at findFocusableControl();</p>
<pre class="brush: csharp;">

private static void OnUpdateSourceTriggerChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
TextBox textBox = d as TextBox;
if ((bool)e.OldValue)
{
textBox.TextChanged -= (s, arg) =&gt; {

};
}
if ((bool)e.NewValue)
{
textBox.TextChanged += (s, arg) =&gt; {
var c = findFocusableControl(textBox);
if (c != null)
{
c.Focus();
}
textBox.Focus();
};
}
}
</pre>
<p>Let&#8217;s take a look at what we did in findFocusableControl(). Based on the control that you are typing, you can get the parent of control by using VisualTreeHelper. But if you want to use this code in production, you will have to modify the code. (For example: if you can&#8217;t find any parent then you will need to find the child element. and you need to check whether that control that you get from Visual Tree Helper is focusable or not. yes. there are a lot of things to do it.)</p>
<pre class="brush: csharp;">

private static Control findFocusableControl(Control control)
{
var ctl = VisualTreeHelper.GetParent(control);
if ((ctl as Control) != null)
{
return ctl as Control;
}
else
{
int childrenCount = VisualTreeHelper.GetChildrenCount(ctl);
for (int i = 0; i &lt; childrenCount; i++)
{
var c = VisualTreeHelper.GetChild(ctl, i) as Control;
if ((c != null) &amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp; (c != control))
{
return c;
}
}
}
return null;
}
}
</pre>
<p>Here is how we can use our attached property to provide PropertyChanged event.</p>
<p><strong>Usage (Example)</strong></p>
<pre class="brush: xml;">

&lt;UserControl x:Class=&quot;UpdateSourceTriggerExtDemo.Page&quot;
xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;
xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;
xmlns:local=&quot;clr-namespace:UpdateSourceTriggerExtDemo&quot;
Width=&quot;400&quot; Height=&quot;300&quot;&gt;
&lt;Grid x:Name=&quot;LayoutRoot&quot; Background=&quot;White&quot;&gt;
&lt;StackPanel&gt;
&lt;TextBox x:Name=&quot;nameTextbox&quot; Height=&quot;25&quot; Width=&quot;100&quot; Margin=&quot;5&quot; Text=&quot;{Binding Name, Mode=TwoWay}&quot;
local:UpdateSourceTriggerHelper.UpdateSourceTrigger=&quot;True&quot; /&gt;
&lt;TextBox x:Name=&quot;addressTextbox&quot; Height=&quot;25&quot; Width=&quot;100&quot; Margin=&quot;5&quot; Text=&quot;{Binding Address, Mode=TwoWay}&quot;
local:UpdateSourceTriggerHelper.UpdateSourceTrigger=&quot;False&quot; /&gt;
&lt;TextBox x:Name=&quot;phoneTextbox&quot; Height=&quot;25&quot; Width=&quot;100&quot; Margin=&quot;5&quot; Text=&quot;{Binding Phone, Mode=TwoWay}&quot;
/&gt;
&lt;Button Height=&quot;25&quot; Width=&quot;100&quot; Margin=&quot;5&quot; Content=&quot;Save&quot; /&gt;
&lt;/StackPanel&gt;
&lt;/Grid&gt;
&lt;/UserControl&gt;
</pre>
<p>Hope it helps. Feel free to let me know if you have any better solution.. I&#8217;m always open to any suggestion from you guys. Thanks..</p>
<p>Happy Silverlighting!!!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/k6wFtD77bnHX7sA_aE3bxv6sEYw/0/da"><img src="http://feedads.g.doubleclick.net/~a/k6wFtD77bnHX7sA_aE3bxv6sEYw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/k6wFtD77bnHX7sA_aE3bxv6sEYw/1/da"><img src="http://feedads.g.doubleclick.net/~a/k6wFtD77bnHX7sA_aE3bxv6sEYw/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MichaelSync?a=tbivqjQfFtA:WegN2rfO4Eg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=tbivqjQfFtA:WegN2rfO4Eg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=tbivqjQfFtA:WegN2rfO4Eg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=tbivqjQfFtA:WegN2rfO4Eg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=tbivqjQfFtA:WegN2rfO4Eg:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=tbivqjQfFtA:WegN2rfO4Eg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=tbivqjQfFtA:WegN2rfO4Eg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=tbivqjQfFtA:WegN2rfO4Eg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=tbivqjQfFtA:WegN2rfO4Eg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=tbivqjQfFtA:WegN2rfO4Eg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=tbivqjQfFtA:WegN2rfO4Eg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=tbivqjQfFtA:WegN2rfO4Eg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=tbivqjQfFtA:WegN2rfO4Eg:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=tbivqjQfFtA:WegN2rfO4Eg:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=tbivqjQfFtA:WegN2rfO4Eg:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=tbivqjQfFtA:WegN2rfO4Eg:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MichaelSync/~4/tbivqjQfFtA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michaelsync.net/2009/06/10/silverlight-attached-properties-bindingupdatesourcetriggerpropertychanged/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://michaelsync.net/2009/06/10/silverlight-attached-properties-bindingupdatesourcetriggerpropertychanged</feedburner:origLink></item>
		<item>
		<title>Bindable WPF RichText Editor with XAML/HTML Convertor</title>
		<link>http://feedproxy.google.com/~r/MichaelSync/~3/OHn51SCAnlQ/bindable-wpf-richtext-editor-with-xamlhtml-convertor</link>
		<comments>http://michaelsync.net/2009/06/09/bindable-wpf-richtext-editor-with-xamlhtml-convertor#comments</comments>
		<pubDate>Tue, 09 Jun 2009 15:33:33 +0000</pubDate>
		<dc:creator>Michael Sync</dc:creator>
				<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://michaelsync.net/?p=1397</guid>
		<description><![CDATA[Introduction
This post will give you some tips/tricks of using Rich Textbox in WPF. As we all know, the build-in WPF RichTexbox doesn’t provide some features that we are looking for so if you are in need of using RichTexbox in WPF project, you should know that you will need to roll your own implementation (at [...]]]></description>
			<content:encoded><![CDATA[<h1>Introduction</h1>
<p>This post will give you some tips/tricks of using Rich Textbox in WPF. As we all know, the build-in WPF RichTexbox doesn’t provide some features that we are looking for so if you are in need of using RichTexbox in WPF project, you should know that you will need to roll your own implementation (at least) a bit. In this post, I will brief you how to make WPF RichTextbox bindable, how to display the HTML in WPF, how to create a Rich Textbox Editor with toolbar.</p>
<p><strong>Contents</strong></p>
<ul>
<li>Bindable RichTextbox</li>
<li>RichText Editor</li>
<li>HTML to XAML Conversion</li>
</ul>
<h1 style="text-align: center; "><img class="alignnone size-full wp-image-1401" title="wpf-rich-text-editor" src="http://michaelsync.net/wp-content/uploads/2009/06/wpf-rich-text-editor.jpg" alt="wpf-rich-text-editor" width="512" height="307" /></h1>
<h1></h1>
<p><strong>Source Download</strong> ~ <a href="http://michaelsync.net/demo/WpfRichText.Ex.zip" target="_self">WpfRichText.Ex.zip (336 KB)</a></p>
<p><strong>Dependencies</strong> ~</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/aa972129.aspx">XAML to HTML Conversion Demo</a></li>
<li><a href="http://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=14962">DelegateCommand from WPF MVVM Toolkit 0.1</a></li>
</ul>
<h1>Bindable Rich Textbox</h1>
<p>A lot of people asked how to bind RichTextbox on the net. Yes. IMO, the Rich Textbox should be bindable but I’m not sure why Document property of RichText is not a dependency property in WPF ( someone can ask me this question?) but people like us who are using MVVM pattern need to have a binding between RichTextbox and the property of ViewModel.  How are we going to make this happen?</p>
<p>Well,  we probably need to a custom property that can be bindable in that control so the first thing that come into my mind is <a href="http://msdn.microsoft.com/en-us/library/ms749011.aspx">the attached property</a>. There maybe a lot of definitations for it but the way I understand is that it is a custom property that can be attached to control. For example: AA property to B Control or etc.</p>
<p>You can take a look at how Sam implemented the binding support for Passwordbox in <a href="http://blog.functionalfun.net/2008/06/wpf-passwordbox-and-data-binding.html">his post</a>. (Forget about encrypting the password in memory or etc for now. ) We will follow this approach to implement the binding support in RichTextbox as well.</p>
<p>The first thing that you might notice is that RichTextbox has the Document property. So, you can create an attached property by wrapping RichTextbox.Document property. Please take a look at <a href="http://stackoverflow.com/users/7583/siz">siz</a>&#8217;s implementation as below (link: <a href="http://stackoverflow.com/questions/343468/richtextbox-wpf-binding">ref</a>).</p>
<pre class="brush: csharp;">

class RichTextboxAssistant : DependencyObject
{
public static readonly DependencyProperty DocumentProperty =
DependencyProperty.Register(&quot;Document&quot;,
typeof(FlowDocument),
typeof(RichTextboxAssistant),
new PropertyMetadata(new PropertyChangedCallback(DocumentChanged)));

private static void DocumentChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
{
Debug.WriteLine(&quot;Document has changed&quot;);
}

public FlowDocument Document
{
get { return GetValue(DocumentProperty) as FlowDocument; }
set { SetValue(DocumentProperty, value); }
}
}
</pre>
<p>But&#8230;&#8230; OMG! why it&#8217;s so hard to use FlowDocument? How come do we need to call Content.Start and End just to get the text? why not having a property called Text which is a string datatype?</p>
<p>Yes. it&#8217;s ture that using FlowDocument is not so simple compared to a string datatype. we also got the same feeling when we were implemneting this feature. what did we do? We decided to change Document property, a FlowDocument type, to &#8220;BoundDocument&#8221; which is a string datatype. So, the new code will be like that below. As you can see, it&#8217;s a bit complicated then before since we are handling all complex things there.</p>
<pre class="brush: csharp;">

public static class RichTextboxAssistant
{

public static readonly DependencyProperty BoundDocument =
DependencyProperty.RegisterAttached(&quot;BoundDocument&quot;, typeof(string), typeof(RichTextboxAssistant),
new FrameworkPropertyMetadata(null,
FrameworkPropertyMetadataOptions.BindsTwoWayByDefault,
OnBoundDocumentChanged));

private static void OnBoundDocumentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{

RichTextBox box = d as RichTextBox;

if (box == null)
return;

RemoveEventHandler(box);

string newXAML = GetBoundDocument(d);

box.Document.Blocks.Clear();

if (!string.IsNullOrEmpty(newXAML))
{

using (MemoryStream xamlMemoryStream = new MemoryStream(Encoding.ASCII.GetBytes(newXAML)))
{

ParserContext parser = new ParserContext();
parser.XmlnsDictionary.Add(&quot;&quot;, &quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;);
parser.XmlnsDictionary.Add(&quot;x&quot;, &quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;);
FlowDocument doc = new FlowDocument();

Section section = XamlReader.Load(xamlMemoryStream, parser) as Section;
box.Document.Blocks.Add(section);
}

}

AttachEventHandler(box);

}

private static void RemoveEventHandler(RichTextBox box)
{

Binding binding = BindingOperations.GetBinding(box, BoundDocument);

if (binding != null)
{
if (binding.UpdateSourceTrigger == UpdateSourceTrigger.Default ||
binding.UpdateSourceTrigger == UpdateSourceTrigger.LostFocus)
{
box.LostFocus -= HandleLostFocus;
}
else
{
box.TextChanged -= HandleTextChanged;
}
}

}

private static void AttachEventHandler(RichTextBox box)
{

Binding binding = BindingOperations.GetBinding(box, BoundDocument);
if (binding != null)
{
if (binding.UpdateSourceTrigger == UpdateSourceTrigger.Default ||
binding.UpdateSourceTrigger == UpdateSourceTrigger.LostFocus)
{
box.LostFocus += HandleLostFocus;
}
else
{
box.TextChanged += HandleTextChanged;
}
}

}

private static void HandleLostFocus(object sender, RoutedEventArgs e)
{

RichTextBox box = sender as RichTextBox;
TextRange tr = new TextRange(box.Document.ContentStart, box.Document.ContentEnd);
using (MemoryStream ms = new MemoryStream())
{
tr.Save(ms, DataFormats.Xaml);
string xamlText = ASCIIEncoding.Default.GetString(ms.ToArray());
SetBoundDocument(box, xamlText);
}

}

private static void HandleTextChanged(object sender, RoutedEventArgs e)
{

// TODO: TextChanged is currently not working!
RichTextBox box = sender as RichTextBox;
TextRange tr = new TextRange(box.Document.ContentStart,
box.Document.ContentEnd);

using (MemoryStream ms = new MemoryStream())
{
tr.Save(ms, DataFormats.Xaml);
string xamlText = ASCIIEncoding.Default.GetString(ms.ToArray());
SetBoundDocument(box, xamlText);
}

}

public static string GetBoundDocument(DependencyObject dp)
{
return dp.GetValue(BoundDocument) as string;
}

public static void SetBoundDocument(DependencyObject dp, string value)
{
dp.SetValue(BoundDocument, value);
}

}
</pre>
<p>Yes. That&#8217;s it. You can now simply bind this attached property with a string instead of a flow document.</p>
<pre class="brush: xml;">

&lt;RichTextBox  attached:RichTextboxAssistant.BoundDocument=&quot;{Binding Text}&quot; Height=&quot;92&quot; /&gt;
</pre>
<h1>RichText Editor</h1>
<p>After implementing the binding support for WPF RichTextbox, we got new requirement that we need to develop a RichText Editor (something like <a href="http://tinymce.moxiecode.com/">TinyMCE</a>) as well. So, we quickly create a new user control called RichTextEditor.xaml and place a RichTextbox with our attached property. After a few minutes, we got a WPF RichText Editor as below. ( As there are a lot of code snippets already in this post, I&#8217;m not going to post it here. Please feel free to take a look at RichTextEditor.xaml in sample project. )</p>
<p style="text-align: center; "><img class="size-full wp-image-1402 aligncenter" title="wpf-rich-text-editor1" src="http://michaelsync.net/wp-content/uploads/2009/06/wpf-rich-text-editor1.jpg" alt="wpf-rich-text-editor1" width="519" height="242" /></p>
<h1>HTML to XAML Conversion</h1>
<p>Our manager was quite happy with our quick and cool solution for implementing WPF Rich Textbox so we checked-in the changes that we made to SVN. and then, the continous integration integrated our latest changes into the new build so people from QA can start testing on our new feature.</p>
<p>After a few hours, we started getting new bugs regarding to our new RichText Editor from QA. Ouch!</p>
<p>What happened was that there is one ASP.NET website that is using the same service and same table. The ASP.NET team is using <a href="http://tinymce.moxiecode.com/">TinyMCE</a>, a Javascript WYSIWYG Editor in that website so those HTML tags which are the output of that editor are being saved in database. That&#8217;s why our WPF RichText Editor wasn&#8217;t able to render those HTML tags. The same way, their TinyMCE was also having problems with our XAML tags.</p>
<p style="text-align: center;"><img class="size-full wp-image-1404 aligncenter" title="wysiwyg-javascript-editor" src="http://michaelsync.net/wp-content/uploads/2009/06/wysiwyg-javascript-editor.jpg" alt="wysiwyg-javascript-editor" width="491" height="498" /></p>
<p>So, what should we do? Ha! I can tell that what&#8217;s in your mind now. Yes. a converter! What we need here is a converter that can convert HTML to XAML (vise-versa). Luckily, Microsoft provides a set of classes that can do the conversion for you. You can grab a copy of those classes from <a href="http://msdn.microsoft.com/en-us/library/aa972129.aspx">this link</a>. (Thank you! MS). We embedded those classes in our application and changed our code as below to support the conversion.</p>
<pre class="brush: csharp;">

public static string GetBoundDocument(DependencyObject dp)
{
var html = dp.GetValue(BoundDocument) as string;
var xaml = string.Empty;

if (!string.IsNullOrEmpty(html))
xaml = HtmlToXamlConverter.ConvertHtmlToXaml(html, false);

return xaml;
}

public static void SetBoundDocument(DependencyObject dp, string value)
{
var xaml = value;
var html = HtmlFromXamlConverter.ConvertXamlToHtml(xaml, false);
dp.SetValue(BoundDocument, html);
}
</pre>
<p>That&#8217;s is. I already attached all sourcecode in the zip file. Please feel free to download it and play as much as you like. But hey! don&#8217;t forget to give the feedback if you found something uncool!.</p>
<p>Here is how my sample looks like. Happy Wpf-ing!!! :)</p>
<p style="text-align: center;"><img class="size-full wp-image-1415 aligncenter" title="wpf-super-cool-rich-text-editor" src="http://michaelsync.net/wp-content/uploads/2009/06/wpf-super-cool-rich-text-editor.jpg" alt="wpf-super-cool-rich-text-editor" width="619" height="313" /></p>

<p><a href="http://feedads.g.doubleclick.net/~a/OxEXs68fHEeyKAseFsdk6LIrLsU/0/da"><img src="http://feedads.g.doubleclick.net/~a/OxEXs68fHEeyKAseFsdk6LIrLsU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/OxEXs68fHEeyKAseFsdk6LIrLsU/1/da"><img src="http://feedads.g.doubleclick.net/~a/OxEXs68fHEeyKAseFsdk6LIrLsU/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MichaelSync?a=OHn51SCAnlQ:Yd7lyeMuQk0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=OHn51SCAnlQ:Yd7lyeMuQk0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=OHn51SCAnlQ:Yd7lyeMuQk0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=OHn51SCAnlQ:Yd7lyeMuQk0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=OHn51SCAnlQ:Yd7lyeMuQk0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=OHn51SCAnlQ:Yd7lyeMuQk0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=OHn51SCAnlQ:Yd7lyeMuQk0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=OHn51SCAnlQ:Yd7lyeMuQk0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=OHn51SCAnlQ:Yd7lyeMuQk0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=OHn51SCAnlQ:Yd7lyeMuQk0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=OHn51SCAnlQ:Yd7lyeMuQk0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=OHn51SCAnlQ:Yd7lyeMuQk0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=OHn51SCAnlQ:Yd7lyeMuQk0:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=OHn51SCAnlQ:Yd7lyeMuQk0:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=OHn51SCAnlQ:Yd7lyeMuQk0:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=OHn51SCAnlQ:Yd7lyeMuQk0:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MichaelSync/~4/OHn51SCAnlQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michaelsync.net/2009/06/09/bindable-wpf-richtext-editor-with-xamlhtml-convertor/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://michaelsync.net/2009/06/09/bindable-wpf-richtext-editor-with-xamlhtml-convertor</feedburner:origLink></item>
		<item>
		<title>Xuenn + RTI (Real-Time Innovations) Data Distribution Service!!</title>
		<link>http://feedproxy.google.com/~r/MichaelSync/~3/_M71ougCBcU/xuenn-rti-real-time-innovations-data-distribution-service</link>
		<comments>http://michaelsync.net/2009/06/09/xuenn-rti-real-time-innovations-data-distribution-service#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:50:22 +0000</pubDate>
		<dc:creator>Michael Sync</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://michaelsync.net/?p=1428</guid>
		<description><![CDATA[RTI (Real-Time Innovations ) posted the news saying that we, Xuenn, are using their Data Distribution Serivce in for our Sport Betting Platform. You can read the details here.


]]></description>
			<content:encoded><![CDATA[<p>RTI (Real-Time Innovations ) posted the news saying that we, Xuenn, are using their <a href="http://www.rti.com/products/data_distribution/index.html">Data Distribution Serivce</a> in for our Sport Betting Platform. You can read the details <a href="http://www.rti.com/company/news/xuenn-online-gaming.html">here</a>.</p>
<p><img class="alignnone size-full wp-image-1430" title="xuenn-games" src="http://michaelsync.net/wp-content/uploads/2009/06/xuenn-games.jpg" alt="xuenn-games" width="240" height="177" /></p>
<p><img class="alignnone size-full wp-image-1429" title="rti-logo" src="http://michaelsync.net/wp-content/uploads/2009/06/rti-logo.gif" alt="rti-logo" width="137" height="55" /></p>

<p><a href="http://feedads.g.doubleclick.net/~a/tn3eE_VxZn49M-wL1SQeiJ-0x8Q/0/da"><img src="http://feedads.g.doubleclick.net/~a/tn3eE_VxZn49M-wL1SQeiJ-0x8Q/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/tn3eE_VxZn49M-wL1SQeiJ-0x8Q/1/da"><img src="http://feedads.g.doubleclick.net/~a/tn3eE_VxZn49M-wL1SQeiJ-0x8Q/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MichaelSync?a=_M71ougCBcU:6V3e6vRv1o4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=_M71ougCBcU:6V3e6vRv1o4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=_M71ougCBcU:6V3e6vRv1o4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=_M71ougCBcU:6V3e6vRv1o4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=_M71ougCBcU:6V3e6vRv1o4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=_M71ougCBcU:6V3e6vRv1o4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=_M71ougCBcU:6V3e6vRv1o4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=_M71ougCBcU:6V3e6vRv1o4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=_M71ougCBcU:6V3e6vRv1o4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=_M71ougCBcU:6V3e6vRv1o4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=_M71ougCBcU:6V3e6vRv1o4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=_M71ougCBcU:6V3e6vRv1o4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=_M71ougCBcU:6V3e6vRv1o4:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=_M71ougCBcU:6V3e6vRv1o4:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=_M71ougCBcU:6V3e6vRv1o4:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=_M71ougCBcU:6V3e6vRv1o4:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MichaelSync/~4/_M71ougCBcU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michaelsync.net/2009/06/09/xuenn-rti-real-time-innovations-data-distribution-service/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://michaelsync.net/2009/06/09/xuenn-rti-real-time-innovations-data-distribution-service</feedburner:origLink></item>
		<item>
		<title>Things that make me disappointed these days</title>
		<link>http://feedproxy.google.com/~r/MichaelSync/~3/hfz5_jQAAiY/things-that-make-me-disappointed-these-days</link>
		<comments>http://michaelsync.net/2009/06/08/things-that-make-me-disappointed-these-days#comments</comments>
		<pubDate>Mon, 08 Jun 2009 15:37:07 +0000</pubDate>
		<dc:creator>Michael Sync</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://michaelsync.net/?p=1394</guid>
		<description><![CDATA[1. Windows 7 on Sony VAIO &#8211; VGN-C25G/B 
I love technology. I love the most latest things when it comes to technology. This is what I am. I can&#8217;t control myself not to install Windows 7 on my machine as soon as it&#8217;s up on MSDN subscription downloads. then, CRASH!!  I don&#8217;t want to repeat how [...]]]></description>
			<content:encoded><![CDATA[<h2><strong>1. Windows 7 on Sony VAIO &#8211; </strong><span class="status-body"><span class="entry-content"><strong>VGN-C25G/B </strong></span></span></h2>
<p>I love technology. I love the most latest things when it comes to technology. This is what I am. I can&#8217;t control myself not to install Windows 7 on my machine as soon as it&#8217;s up on MSDN subscription downloads. then, CRASH!!  I don&#8217;t want to repeat how disappointed I am at that time. Some of my friends from Twitter know about that. I asked about that in <a href="http://social.answers.microsoft.com/Forums/en-US/w7itprohardware/thread/9df17867-2b15-41f4-a345-211db5150118">Windows 7 Forum</a>.</p>
<p><strong>ACPI.sys Address 88ET3481 BASE AT 88EP4000 DATESTAMP 49E9766</strong></p>
<p><strong>Env:</strong></p>
<p><strong>Previous OS</strong> : Vista Home Premium<br />
<strong>Laptop </strong>: Sony VAIO - <strong><span class="status-body"><span class="entry-content">VGN-C25G/B E1</span> </span></strong><br />
<strong>Memory</strong> : 2 GB<br />
<strong>Processor</strong> : Core 2 Dual</p>
<p style="text-align: center;"><img class="size-full wp-image-1418 aligncenter" title="viao" src="http://michaelsync.net/wp-content/uploads/2009/06/viao.gif" alt="viao" width="460" height="240" /></p>
<h2>2. Firefox says &#8220;Using Internet Explorer is So 2006&#8243; :(</h2>
<p>Using Internet Explorer is So 2006? what the f**k! why did they mention &#8220;Internet Explorer&#8221;?? Why did they use other competitor&#8217;s name there? I&#8217;m not a Microsoft fanboy or anything. I will say the same thing if they use Opera or Google Chrome or any other browser. Insulting other by name is not cool. It seems like people from Firefox are proud of themself or something.</p>
<p>Yes. It was the day that I stopped using Firefox. I&#8217;ve been using it since long time back but I won&#8217;t use it anymore. I will miss Firefox and I will definitely miss <a href="http://michaelsync.net/firebug">Firebug</a> but it&#8217;s over. I&#8217;m currently using Google Chrome until I found the browser that I like. Good Bye, Firefox!</p>
<p style="text-align: center;"><img class="size-full wp-image-1393 aligncenter" title="shameless-firefox-ads" src="http://michaelsync.net/wp-content/uploads/2009/05/shameless-firefox-ads.jpg" alt="shameless-firefox-ads" width="580" height="359" /></p>

<p><a href="http://feedads.g.doubleclick.net/~a/JbjkCyNsYb7mX8iwUSUxAz1B3ZA/0/da"><img src="http://feedads.g.doubleclick.net/~a/JbjkCyNsYb7mX8iwUSUxAz1B3ZA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/JbjkCyNsYb7mX8iwUSUxAz1B3ZA/1/da"><img src="http://feedads.g.doubleclick.net/~a/JbjkCyNsYb7mX8iwUSUxAz1B3ZA/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MichaelSync?a=hfz5_jQAAiY:TvDl7Btz0JQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=hfz5_jQAAiY:TvDl7Btz0JQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=hfz5_jQAAiY:TvDl7Btz0JQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=hfz5_jQAAiY:TvDl7Btz0JQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=hfz5_jQAAiY:TvDl7Btz0JQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=hfz5_jQAAiY:TvDl7Btz0JQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=hfz5_jQAAiY:TvDl7Btz0JQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=hfz5_jQAAiY:TvDl7Btz0JQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=hfz5_jQAAiY:TvDl7Btz0JQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=hfz5_jQAAiY:TvDl7Btz0JQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=hfz5_jQAAiY:TvDl7Btz0JQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=hfz5_jQAAiY:TvDl7Btz0JQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=hfz5_jQAAiY:TvDl7Btz0JQ:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=hfz5_jQAAiY:TvDl7Btz0JQ:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=hfz5_jQAAiY:TvDl7Btz0JQ:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=hfz5_jQAAiY:TvDl7Btz0JQ:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MichaelSync/~4/hfz5_jQAAiY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michaelsync.net/2009/06/08/things-that-make-me-disappointed-these-days/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://michaelsync.net/2009/06/08/things-that-make-me-disappointed-these-days</feedburner:origLink></item>
		<item>
		<title>Be careful when you are naming the Silverlight Class Library!!</title>
		<link>http://feedproxy.google.com/~r/MichaelSync/~3/R0zad3TQ8ws/did-you-know-silverlight-class-library-cant-be-named-with-resources</link>
		<comments>http://michaelsync.net/2009/05/04/did-you-know-silverlight-class-library-cant-be-named-with-resources#comments</comments>
		<pubDate>Mon, 04 May 2009 09:02:18 +0000</pubDate>
		<dc:creator>Michael Sync</dc:creator>
				<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://michaelsync.net/?p=1383</guid>
		<description><![CDATA[Do you know why? because there are some limitations that you can&#8217;t use when you are naming Silverlight Class Library. It happened to us. We named one of our Silverlight Class Libraries with &#8220;.Resources&#8221; postfix. Then, we got a lot of trouble. I&#8217;m not sure whether you guys are aware of this &#8220;by-design&#8221; issue or [...]]]></description>
			<content:encoded><![CDATA[<p>Do you know why? because there are some limitations that you can&#8217;t use when you are naming Silverlight Class Library. It happened to us. We named one of our Silverlight Class Libraries with &#8220;.Resources&#8221; postfix. Then, we got a lot of trouble. I&#8217;m not sure whether you guys are aware of this &#8220;by-design&#8221; issue or not. We got a lot of headaches when we are implementating the localization for WPF and Silverlight project. We have spent around 1 or 2 days just to solve this problem.</p>
<p>Here is the steps to reproduce the issue.</p>
<div>
<ol>
<li>Create Silverlight Application (e.g. SilverlightApplication4 ) with web project attached.  (both Silverlight 2 or Silverlight 3)</li>
<li>Add Silverlight Class Library and named it &#8220;ABCDE.Resources&#8221;  <em>&lt;Note: This is very important.&gt;</em></li>
<li>Add the following method in Class1.
<pre class="brush: csharp;">
public static string Foo(){
return &quot;Foo&quot;;
}
</pre>
</li>
<li>Add &#8221;ABCDE.Resources&#8221; as a reference in SilverlightApplication4.</li>
<li>Go to Page.xaml.cs</li>
<li>Add the following line in constructor.
<pre class="brush: csharp;">
Console.WriteLine(ABCDE.Resources.Class1.Foo());
</pre>
</li>
</ol>
</div>
<p><strong>Error:<br />
</strong><br />
<span style="color: red;">Could not load file or assembly &#8216;ABCDE.Resources, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null&#8217; or one of its dependencies. The system cannot find the file specified.</span></p>
<p>I got that error and also, I found that &#8220;ABCDE.Resources&#8221; assembly is not getting generated in Silverlight. So, I reported this issue in WPF/Silverlight Insider List. What I heard from Microsoft is that this is by-design issue. Silverlight&#8217;s application activation logic treats this with special meaning &#8211; it recognizes such an assembly as a satellite resource assembly. Then, I tried to reproduce the issue  just like the way that we used in our project without using any code but just resx file.</p>
<p>Here is new steps to reproduce the issue.</p>
<ol>
<li>Create Silverlight Application (e.g. SilverlightApplication4 ) with web project attached.  (both Silverlight 2 or Silverlight 3)</li>
<li>Add Silverlight Class Library and named it &#8220;ABCDE.Resources&#8221;  <em>&lt;Note: This is very important.&gt;</em></li>
<li>Add new resx file (Let&#8217;s call it &#8220;Strings.resx&#8221;)</li>
<li>Change &#8220;Access Modifier :&#8221; to Public</li>
<li>Add new string to that resx file &#8220;Strings.resx&#8221;<br />
e.g: (Name: YourMessageStringInResx, Value=YourMessageStringValueInResx)</li>
<li>Go to Code-behind of that resx file &#8220;Strings.Designer.cs&#8221; and change <strong>private</strong> constructor to <strong>public</strong>. (why? yes. this is another issue. )</li>
<li>Go to Page.xaml.cs</li>
<li>Add the following line in constructor.
<pre class="brush: csharp;">
Console.WriteLine(Strings.YourMessageStringInResx);
</pre>
</li>
</ol>
<p>Then, run the application. I&#8217;m sure that you will get the same error. I&#8217;m still waiting the response from Microsoft for that issue and I will update this post as soon as I get one. As of now, the only solution for this issue is that don&#8217;t name &#8220;.Resources&#8221; for your class library and use other name like ABCDE.Languages or ABCDE.Rex or etc.</p>
<p>Hope it helps.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/MXcRijeQYuz1ELVRHHQGgoFOwNQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/MXcRijeQYuz1ELVRHHQGgoFOwNQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/MXcRijeQYuz1ELVRHHQGgoFOwNQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/MXcRijeQYuz1ELVRHHQGgoFOwNQ/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MichaelSync?a=R0zad3TQ8ws:DWVqR-EX6eU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=R0zad3TQ8ws:DWVqR-EX6eU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=R0zad3TQ8ws:DWVqR-EX6eU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=R0zad3TQ8ws:DWVqR-EX6eU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=R0zad3TQ8ws:DWVqR-EX6eU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=R0zad3TQ8ws:DWVqR-EX6eU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=R0zad3TQ8ws:DWVqR-EX6eU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=R0zad3TQ8ws:DWVqR-EX6eU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=R0zad3TQ8ws:DWVqR-EX6eU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=R0zad3TQ8ws:DWVqR-EX6eU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=R0zad3TQ8ws:DWVqR-EX6eU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=R0zad3TQ8ws:DWVqR-EX6eU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=R0zad3TQ8ws:DWVqR-EX6eU:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=R0zad3TQ8ws:DWVqR-EX6eU:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=R0zad3TQ8ws:DWVqR-EX6eU:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=R0zad3TQ8ws:DWVqR-EX6eU:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MichaelSync/~4/R0zad3TQ8ws" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michaelsync.net/2009/05/04/did-you-know-silverlight-class-library-cant-be-named-with-resources/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://michaelsync.net/2009/05/04/did-you-know-silverlight-class-library-cant-be-named-with-resources</feedburner:origLink></item>
		<item>
		<title>My Wedding!!</title>
		<link>http://feedproxy.google.com/~r/MichaelSync/~3/6NGidtO1Gt4/my-wedding</link>
		<comments>http://michaelsync.net/2009/05/03/my-wedding#comments</comments>
		<pubDate>Sun, 03 May 2009 14:41:09 +0000</pubDate>
		<dc:creator>Michael Sync</dc:creator>
				<category><![CDATA[Sync's Gallery]]></category>

		<guid isPermaLink="false">http://michaelsync.net/?p=1336</guid>
		<description><![CDATA[
April 20, 2009. Yes. I got married on April 20, 2009. I married with my girlfriend of 7 years 10 months. We have been together since 2001 (our collage time) and I&#8217;m glad that we finally did it.




















]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">
<p style="text-align: left;">April 20, 2009. Yes. I got married on April 20, 2009. I married with my girlfriend of 7 years 10 months. We have been together since 2001 (our collage time) and I&#8217;m glad that we finally did it.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1375" title="wedding-invitation-letter-with-rings" src="http://michaelsync.net/wp-content/uploads/2009/05/wedding-invitation-letter-with-rings.jpg" alt="wedding-invitation-letter-with-rings" width="515" height="388" /></p>
<p style="text-align: center;"><img class="size-full wp-image-1335 aligncenter" title="dsc01204" src="http://michaelsync.net/wp-content/uploads/2009/05/dsc01204.jpg" alt="dsc01204" width="514" height="471" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1376" title="ring" src="http://michaelsync.net/wp-content/uploads/2009/05/ring.jpg" alt="ring" width="326" height="245" /></p>
<p style="text-align: center;"><span id="more-1336"></span></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1338" title="wedding-invitation-letter-11" src="http://michaelsync.net/wp-content/uploads/2009/05/wedding-invitation-letter-11.jpg" alt="wedding-invitation-letter-11" width="515" height="516" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1339" title="wedding-invitation-letter-1" src="http://michaelsync.net/wp-content/uploads/2009/05/wedding-invitation-letter-1.jpg" alt="wedding-invitation-letter-1" width="515" height="508" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1340" title="wedding-invitation-letter-2" src="http://michaelsync.net/wp-content/uploads/2009/05/wedding-invitation-letter-2.jpg" alt="wedding-invitation-letter-2" width="515" height="503" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1341" title="wedding-invitation-letter-3" src="http://michaelsync.net/wp-content/uploads/2009/05/wedding-invitation-letter-3.jpg" alt="wedding-invitation-letter-3" width="482" height="740" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1344" title="wedding-invitation-letter-35" src="http://michaelsync.net/wp-content/uploads/2009/05/wedding-invitation-letter-35.jpg" alt="wedding-invitation-letter-35" width="515" height="496" /></p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="alignnone size-full wp-image-1346" title="only-us" src="http://michaelsync.net/wp-content/uploads/2009/05/only-us.jpg" alt="only-us" width="515" height="506" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1355" title="we-sitting" src="http://michaelsync.net/wp-content/uploads/2009/05/we-sitting.jpg" alt="we-sitting" width="515" height="412" /></p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="alignnone size-full wp-image-1351" title="my-wife" src="http://michaelsync.net/wp-content/uploads/2009/05/my-wife.jpg" alt="my-wife" width="515" height="601" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1352" title="me-and-my-wife" src="http://michaelsync.net/wp-content/uploads/2009/05/me-and-my-wife.jpg" alt="me-and-my-wife" width="515" height="848" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1350" title="with-my-siss-frds" src="http://michaelsync.net/wp-content/uploads/2009/05/with-my-siss-frds.jpg" alt="with-my-siss-frds" width="514" height="551" /></p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="alignnone size-full wp-image-1348" title="with-myo-nyein" src="http://michaelsync.net/wp-content/uploads/2009/05/with-myo-nyein.jpg" alt="with-myo-nyein" width="514" height="922" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1337" title="raining" src="http://michaelsync.net/wp-content/uploads/2009/05/raining.jpg" alt="raining" width="515" height="532" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1377" title="all-in-one" src="http://michaelsync.net/wp-content/uploads/2009/05/all-in-one.jpg" alt="all-in-one" width="512" height="384" /></p>

<p><a href="http://feedads.g.doubleclick.net/~a/WD6xxqLl5-Giq-rdg4ZG58EV3cQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/WD6xxqLl5-Giq-rdg4ZG58EV3cQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WD6xxqLl5-Giq-rdg4ZG58EV3cQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/WD6xxqLl5-Giq-rdg4ZG58EV3cQ/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MichaelSync?a=6NGidtO1Gt4:Y0nwkLFAXIQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=6NGidtO1Gt4:Y0nwkLFAXIQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=6NGidtO1Gt4:Y0nwkLFAXIQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=6NGidtO1Gt4:Y0nwkLFAXIQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=6NGidtO1Gt4:Y0nwkLFAXIQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=6NGidtO1Gt4:Y0nwkLFAXIQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=6NGidtO1Gt4:Y0nwkLFAXIQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=6NGidtO1Gt4:Y0nwkLFAXIQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=6NGidtO1Gt4:Y0nwkLFAXIQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=6NGidtO1Gt4:Y0nwkLFAXIQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=6NGidtO1Gt4:Y0nwkLFAXIQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=6NGidtO1Gt4:Y0nwkLFAXIQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=6NGidtO1Gt4:Y0nwkLFAXIQ:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/MichaelSync?i=6NGidtO1Gt4:Y0nwkLFAXIQ:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=6NGidtO1Gt4:Y0nwkLFAXIQ:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/MichaelSync?a=6NGidtO1Gt4:Y0nwkLFAXIQ:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/MichaelSync?d=TzevzKxY174" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MichaelSync/~4/6NGidtO1Gt4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michaelsync.net/2009/05/03/my-wedding/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		<feedburner:origLink>http://michaelsync.net/2009/05/03/my-wedding</feedburner:origLink></item>
	</channel>
</rss>
