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

<channel>
	<title>算法交易-Bali &#187; fun</title>
	<atom:link href="http://libaocun.com/tag/fun/feed" rel="self" type="application/rss+xml" />
	<link>http://libaocun.com</link>
	<description>Think globally, act locally.</description>
	<lastBuildDate>Fri, 06 Jan 2012 02:51:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>My AD Fun Experiment</title>
		<link>http://libaocun.com/my-ad-fun-experiment</link>
		<comments>http://libaocun.com/my-ad-fun-experiment#comments</comments>
		<pubDate>Wed, 29 Jul 2009 03:59:42 +0000</pubDate>
		<dc:creator>Bali</dc:creator>
				<category><![CDATA[一些老文章]]></category>
		<category><![CDATA[Advertizing]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[THINK]]></category>

		<guid isPermaLink="false">http://www.balionweb.com/?p=67</guid>
		<description><![CDATA[Today I got a mail from lakequincy.com, saying: “Hi Bill, I noticed that you were never able to plug the Lake Quincy Media ad tags into your site. Are you still interested in earning revenue from displaying ads targeted to Microsoft developers? If so, you can get your tags from here: &#60;certain link&#62; Let me [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Today I got a mail from <a href="http://lakequincy.com/">lakequincy.com</a>, saying:</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US">“Hi Bill,</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US"><span> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US">I noticed that you were never able to plug the Lake Quincy Media ad tags into your site. Are you still interested in earning revenue from displaying ads targeted to Microsoft developers? If so, you can get your tags from here:<span> &lt;certain link&gt;</span></span><span lang="EN-US"><span> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US">Let me know if you have any questions or if you’ve decided against running the ads and I’ll set your account to inactive for you.”</span><em></em></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">I even forgot that I resgistered in their site. To encourage such great customer service, I go ahead to try how the AD really works for me; finally decide to put a small square in the side bar. You can easily find it now if you scroll down a bit and pay attention to the left side bar. Let us see how many dollars I can make after one or two quarters. By putting an AD to the blog, it looks more of-the-business, doesn’t it? Of course, you can bid for that AD position. :- )</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US"><span style="font-family: Calibri;font-size: small"><strong><span style="text-decoration: underline">Update(2/26/2009)</span></strong></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">The AD is disabled temporarily due to security alert.</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://libaocun.com/my-ad-fun-experiment/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing Your Own Recent Posts Widget for MSDN Blog</title>
		<link>http://libaocun.com/designing-your-own-recent-posts-widget-for-msdn-blog</link>
		<comments>http://libaocun.com/designing-your-own-recent-posts-widget-for-msdn-blog#comments</comments>
		<pubDate>Wed, 29 Jul 2009 03:57:29 +0000</pubDate>
		<dc:creator>Bali</dc:creator>
				<category><![CDATA[一些老文章]]></category>
		<category><![CDATA[ACT]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[Product/Feature-Desig]]></category>

		<guid isPermaLink="false">http://www.balionweb.com/?p=60</guid>
		<description><![CDATA[In my MSDN blog, I need “Recent Posts”, but I don’t need archive side bar. After having played with template for a while, still no luck. Hmmm, looks like I have to DIY it. Fortunately in News sidebar, you can fill in raw html including JavaScript. Then next question is where we can retrieve post [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">In my MSDN blog, I need “Recent Posts”, but I don’t need archive side bar. After having played with template for a while, still no luck. Hmmm, looks like I have to DIY it. Fortunately in News sidebar, you can fill in raw html including <a href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a>. Then next question is where we can retrieve post tiles. The immediate idea is from current <a href="http://en.wikipedia.org/wiki/Document_Object_Model">DOM</a> document. Through experiments, I found this is impossible because the DOM is not fully loaded yet when the script is executed. Later, I figured it out that all posts title can be gotten from <a href="http://en.wikipedia.org/wiki/RSS_(file_format)">RSS</a>. For my blog, the address is </span><a href="http://blogs.msdn.com/bali_msft/rss.xml"><span style="font-family: Calibri;color: #800080;font-size: small">http://blogs.msdn.com/bali_msft/rss.xml</span></a><span style="font-family: Calibri;font-size: small">. One thing worth noticing is the fact that RSS in MSDN blog is not up to date &#8211; Your post will not instantly appear in the RSS. After I get all posts in RSS format, things became much easier. And then I go ahead to add more interesting things:</span></span></p>
<ul>
<li>
<div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Posts background use two colors in turn</span></span></div>
</li>
<li>
<div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span lang="EN-US"> </span><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Show a new tag for posts less than 3 days old</span></span></div>
</li>
<li>
<div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Show latest 8 posts only</span></span></div>
</li>
<li>
<div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Show posts&#8217; age</span></span></div>
</li>
</ul>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">So, the final thing will look like this:</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US"><img style="width: 209px;height: 305px" src="http://lh5.ggpht.com/_A9xfBBUVmv4/SZA17PBQS2I/AAAAAAAABdk/7keHM38EZUw/s400/MyRecentPosts.JPG" alt="" width="209" height="305" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US"> </span></p>
<p><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">If you find it is useful, feel free to paste below code to you blog’s news section. Note to customize “<em>Configurable params</em>” to your own needs and leave other code intact. It works well at least in my IE 8 and Firefox 3.0.6.</span></span></p>
<table class="MsoTableGrid" style="border: medium none;background: #eeece1 none repeat scroll 0% 0%;border-collapse: collapse" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border: medium none black;padding: 0cm 5.4pt;background-color: transparent;width: 821.75pt" width="1096" valign="top"><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US"></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">&lt;</span><span style="font-family: 'Courier New';color: #a31515;font-size: 10pt" lang="EN-US">div</span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> </span><span style="color: red">id</span><span style="color: blue">=&#8221;RecentPosts&#8221;&gt;&lt;/</span><span style="color: #a31515">div</span><span style="color: blue">&gt;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">&lt;</span><span style="font-family: 'Courier New';color: #a31515;font-size: 10pt" lang="EN-US">Script</span><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: green;font-size: 10pt" lang="EN-US">// Configurable params</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">var</span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> recentPostNumber = 8;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">var</span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> rssUrl = </span><span style="color: #a31515">&#8220;http://blogs.msdn.com/bali_msft/rss.xml&#8221;</span><span style="color: #000000">;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">var</span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> title = </span><span style="color: #a31515">&#8220;My Recent Posts&#8221;</span><span style="color: #000000">;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">var</span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> newPostAgeInHour = 72;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: green;font-size: 10pt" lang="EN-US">// Cacluate age of one post. It is all about getting time span in Javascript</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: green;font-size: 10pt" lang="EN-US">// return formate: x min; x hour y min, x day y min, x days, x yeas (ago)</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: green;font-size: 10pt" lang="EN-US">// Refer to: http://www.w3schools.com/jsref/jsref_obj_date.asp</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">function</span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> calculateAge(postDate)</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">{</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">var</span><span style="color: #000000"> ret = </span><span style="color: #a31515">&#8220;fresh!&#8221;</span><span style="color: #000000">;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>CurrentDate = </span><span style="color: blue">new</span><span style="color: #000000"> Date();</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>TimeSpan = </span><span style="color: blue">new</span><span style="color: #000000"> Date(CurrentDate &#8211; postDate);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">var</span><span style="color: #000000"> mySpanArray = </span><span style="color: blue">new</span><span style="color: #000000"> Array();</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> mySpanArray[0] = TimeSpan.getUTCFullYear()-1970;<br />
mySpanArray[1] = TimeSpan.getUTCMonth();<br />
mySpanArray[2] = TimeSpan.getUTCDate()-1;<br />
mySpanArray[3] = TimeSpan.getUTCHours();<br />
mySpanArray[4] = TimeSpan.getUTCMinutes();<br />
</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">var</span><span style="color: #000000"> TimeSpanTagArray_1 = </span><span style="color: blue">new</span><span style="color: #000000"> Array(</span><span style="color: #a31515">&#8220;years&#8221;</span><span style="color: #000000">, </span><span style="color: #a31515">&#8220;months&#8221;</span><span style="color: #000000">, </span><span style="color: #a31515">&#8220;days&#8221;</span><span style="color: #000000">, </span><span style="color: #a31515">&#8220;hours&#8221;</span><span style="color: #000000">, </span><span style="color: #a31515">&#8220;minutes&#8221;</span><span style="color: #000000">);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">var</span><span style="color: #000000"> TimeSpanTagArray_2 = </span><span style="color: blue">new</span><span style="color: #000000"> Array(</span><span style="color: #a31515">&#8220;year&#8221;</span><span style="color: #000000">, </span><span style="color: #a31515">&#8220;month&#8221;</span><span style="color: #000000">, </span><span style="color: #a31515">&#8220;day&#8221;</span><span style="color: #000000">, </span><span style="color: #a31515">&#8220;hour&#8221;</span><span style="color: #000000">, </span><span style="color: #a31515">&#8220;minute&#8221;</span><span style="color: #000000">);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: green">// Starting from non-zero element and pick two significant values</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">for</span><span style="color: #000000">(i = 0; i &lt; mySpanArray.length; i++) {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">if</span><span style="color: #000000">(mySpanArray[i] != 0) {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">var</span><span style="color: #000000"> correctTag = (mySpanArray[i] == 1)?(TimeSpanTagArray_2[i]):(TimeSpanTagArray_1[i]);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>ret = mySpanArray[i] + </span><span style="color: #a31515">&#8221; &#8220;</span><span style="color: #000000"> + correctTag;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">if</span><span style="color: #000000">(i+1 &lt; mySpanArray.length &amp;&amp; mySpanArray[i+1] != 0) {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>correctTag = (mySpanArray[i+1] == 1)?(TimeSpanTagArray_2[i+1]):(TimeSpanTagArray_1[i+1]);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>ret = ret + </span><span style="color: #a31515">&#8220;, &#8220;</span><span style="color: #000000"> + mySpanArray[i+1] + </span><span style="color: #a31515">&#8221; &#8220;</span><span style="color: #000000"> + correctTag;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">break</span><span style="color: #000000">;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">return</span><span style="color: #000000"> ret;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: green;font-size: 10pt" lang="EN-US">// Display the recent posts</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: green;font-size: 10pt" lang="EN-US">// Refer to: </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: green;font-size: 10pt" lang="EN-US">// <a href="http://www.w3schools.com/DOM/dom_node.asp">http://www.w3schools.com/DOM/dom_node.asp</a></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: green;font-size: 10pt" lang="EN-US">// <a href="http://www.w3schools.com/DOM/dom_methods.asp">http://www.w3schools.com/DOM/dom_methods.asp</a></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">function</span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> displayPosts (xmldoc)</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">{</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">var</span><span style="color: #000000"> newTag = </span><span style="color: #a31515">&#8220;&lt;SPAN style=\&#8221;COLOR: red\&#8221;&gt;(New!)&lt;/SPAN&gt;&#8221;</span><span style="color: #000000">;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">var</span><span style="color: #000000"> posts = xmldoc.getElementsByTagName(</span><span style="color: #a31515">&#8220;item&#8221;</span><span style="color: #000000">);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">var</span><span style="color: #000000"> displayText = </span><span style="color: #a31515">&#8220;&lt;h3&gt;&#8221;</span><span style="color: #000000"> + title + </span><span style="color: #a31515">&#8220;&lt;/h3&gt;&lt;UL&gt;&#8221;</span><span style="color: #000000">;<span> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">if</span><span style="color: #000000"> (posts.length &lt; recentPostNumber) {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>recentPostNumber = posts.length;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">for</span><span style="color: #000000">(</span><span style="color: blue">var</span><span style="color: #000000"> i = 0; i &lt; recentPostNumber; i++)</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>{</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>PostTitle = posts[i].firstChild.firstChild.nodeValue;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>PostLink = posts[i].firstChild.nextSibling.firstChild.nodeValue;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>PostDateStr = posts[i].firstChild.nextSibling.nextSibling.firstChild.nodeValue;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>PostDate = </span><span style="color: blue">new</span><span style="color: #000000"> Date(PostDateStr);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>CurrentDate = </span><span style="color: blue">new</span><span style="color: #000000"> Date();</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: green">// Calculate age</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">var</span><span style="color: #000000"> _PostAge = calculateAge(PostDate);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">var</span><span style="color: #000000"> PostAge = </span><span style="color: #a31515">&#8220;&lt;SPAN style=\&#8221;font-size: 80%; color: black\&#8221;&gt; (&#8220;</span><span style="color: #000000"> +_PostAge + </span><span style="color: #a31515">&#8221; ago)&lt;/SPAN&gt;&#8221;</span><span style="color: #000000">;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: green">// Show a new tag for posts happening last days defined by &#8216;newPostAgeInHour&#8217;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">var</span><span style="color: #000000"> myNewTag = </span><span style="color: #a31515">&#8220;&#8221;</span><span style="color: #000000">;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">if</span><span style="color: #000000">((CurrentDate.getTime() &#8211; PostDate.getTime())/1000/60 &lt; newPostAgeInHour * 60) {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>myNewTag = newTag;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: green">// Get background color</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">var</span><span style="color: #000000"> BKColor = (i%2 == 0)?(</span><span style="color: #a31515">&#8220;#B8CCE4&#8243;</span><span style="color: #000000">):(</span><span style="color: #a31515">&#8220;#DBE5F1&#8243;</span><span style="color: #000000">);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>displayText = displayText + </span><span style="color: #a31515">&#8220;&lt;LI style=\&#8221;background-color:&#8221;</span><span style="color: #000000"> + BKColor + </span><span style="color: #a31515">&#8220;\&#8221;&gt;&lt;A href=\&#8221;"</span><span style="color: #000000"> + PostLink + </span><span style="color: #a31515">&#8220;\&#8221;&gt;&#8221;</span><span style="color: #000000"> + myNewTag + PostTitle + PostAge + </span><span style="color: #a31515">&#8220;&lt;/A&gt;&lt;/LI&gt;&#8221;</span><span style="color: #000000"><span> </span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>displayText = displayText + </span><span style="color: #a31515">&#8220;&lt;/UL&gt;&#8221;</span><span style="color: #000000">;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">var</span><span style="color: #000000"> target = document.getElementById(</span><span style="color: #a31515">&#8220;RecentPosts&#8221;</span><span style="color: #000000">);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>target.innerHTML=displayText;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: green;font-size: 10pt" lang="EN-US">// Call back</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">function</span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> complete(){</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span><span style="color: #000000"> </span></span><span style="color: blue">if</span><span style="color: #000000"> (req.readyState == 4) {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="color: #000000"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span> </span></span><span style="font-family: 宋体;font-size: 10pt"> </span></span><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">if</span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> (req.status == 200) {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>displayPosts (req.responseXML);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"><span> </span>}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: green;font-size: 10pt" lang="EN-US">// Initial async call</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">function</span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> getPosts()</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">{</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体;font-size: 10pt"><span style="color: #000000"> </span></span><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">if</span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> (window.XMLHttpRequest) {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="color: #000000"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span> </span></span><span style="font-family: 宋体;font-size: 10pt"> </span></span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">req = </span><span style="color: blue">new</span><span style="color: #000000"> XMLHttpRequest();</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体;font-size: 10pt"><span style="color: #000000"> </span></span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">}</span><span style="color: blue">else</span><span style="color: #000000"> </span><span style="color: blue">if</span><span style="color: #000000"> (window.ActiveXObject) {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="color: #000000"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span> </span></span><span style="font-family: 宋体;font-size: 10pt"> </span></span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">req = </span><span style="color: blue">new</span><span style="color: #000000"> ActiveXObject(</span><span style="color: #a31515">&#8220;Microsoft.XMLHTTP&#8221;</span><span style="color: #000000">);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="color: #000000"><span style="font-family: 宋体;font-size: 10pt"> </span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US">}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体;font-size: 10pt"><span style="color: #000000"> </span></span><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">if</span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">(req){</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="color: #000000"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span> </span></span><span style="font-family: 宋体;font-size: 10pt"> </span></span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">req.open(</span><span style="color: #a31515">&#8220;GET&#8221;</span><span style="color: #000000">, rssUrl, </span><span style="color: blue">true</span><span style="color: #000000">);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="color: #000000"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span> </span></span><span style="font-family: 宋体;font-size: 10pt"> </span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US">req.onreadystatechange = complete;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="color: #000000"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span> </span></span><span style="font-family: 宋体;font-size: 10pt"> </span></span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">req.send(</span><span style="color: blue">null</span><span style="color: #000000">);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="color: #000000"><span style="font-family: 宋体;font-size: 10pt"> </span><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US">}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: green;font-size: 10pt" lang="EN-US">// Entry point </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';font-size: 10pt" lang="EN-US"><span style="color: #000000">getPosts();</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">&lt;/</span><span style="font-family: 'Courier New';color: #a31515;font-size: 10pt" lang="EN-US">Script</span><span style="font-family: 'Courier New';color: blue;font-size: 10pt" lang="EN-US">&gt;</span></p>
<p></span></td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><span lang="EN-US"><span style="font-family: Calibri;font-size: small"> </span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://libaocun.com/designing-your-own-recent-posts-widget-for-msdn-blog/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

