<?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>THE ENCYCLOPEDIA</title>
	<atom:link href="http://blog.mrcongwang.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mrcongwang.com</link>
	<description>Of A Young Computer Science Graduate Student</description>
	<lastBuildDate>Thu, 04 Mar 2010 08:20:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>亦歌Linux桌面版编译指南</title>
		<link>http://blog.mrcongwang.com/2010/03/04/%e4%ba%a6%e6%ad%8clinux%e6%a1%8c%e9%9d%a2%e7%89%88%e7%bc%96%e8%af%91%e6%8c%87%e5%8d%97/</link>
		<comments>http://blog.mrcongwang.com/2010/03/04/%e4%ba%a6%e6%ad%8clinux%e6%a1%8c%e9%9d%a2%e7%89%88%e7%bc%96%e8%af%91%e6%8c%87%e5%8d%97/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 08:09:50 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[1g1g Linux Desktop App]]></category>
		<category><![CDATA[1g1g]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=456</guid>
		<description><![CDATA[如果你所用的发行版没有可用的qt4.5 package那么请安装qt sdk.
目前已知具备qt4.5的linux发行版有： Ubuntu 9.04
qt sdk 下载地址: http://www.qtsoftware.com/downloads
编译过程：
1、 运行下载后的qt sdk安装程序 安装到任意路径（若你希望系统上的不同用户都能使用亦歌桌面版那么请用root权限安装到/usr/share/qt4中）
2、解压缩下载的亦歌src压缩包，进入其目录并使用qmake生成Makefile
例如：  tar -xf linux1g1g_0.9-1.tar.gz
 cd linux1g1g
 /usr/share/qt4/qt/bin/qmake -o Makefile linux1g1g.pro 
3、make生成可执行文件。 如果希望在任意路径下都能运行亦歌桌面版，请手动拷贝到/usr/bin
]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2010/03/04/%e4%ba%a6%e6%ad%8clinux%e6%a1%8c%e9%9d%a2%e7%89%88%e7%bc%96%e8%af%91%e6%8c%87%e5%8d%97/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>unix network programming notes</title>
		<link>http://blog.mrcongwang.com/2009/12/09/unix-network-programming-notes/</link>
		<comments>http://blog.mrcongwang.com/2009/12/09/unix-network-programming-notes/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 02:07:25 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=444</guid>
		<description><![CDATA[socket()
bind()
listen() &#8212;&#8212;&#8212;-blocked       &#60;&#8212;-unblock   SYN i connect()            &#8212;&#8212;&#8212;&#62;ACK i+1, SYN j
accept()&#8212;&#8212;&#8212;-blocked     &#60;&#8212;&#8212;unblock ACK j+1
3-way hand-shake

socket(*.21, *.*) &#8212; listening socket
accept() returns new socket (server_addr, 21, client_addr.client.port)
tcp write &#8212;- blocked until the buffer in APP [...]]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/12/09/unix-network-programming-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UML notes</title>
		<link>http://blog.mrcongwang.com/2009/11/19/uml-notes/</link>
		<comments>http://blog.mrcongwang.com/2009/11/19/uml-notes/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 10:55:45 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=440</guid>
		<description><![CDATA[&#8212;&#8211;aggregation
&#8212;&#8212;-black diamond: composition
]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/11/19/uml-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intro2Algorithm Notes</title>
		<link>http://blog.mrcongwang.com/2009/11/11/intro2algorithm-notes/</link>
		<comments>http://blog.mrcongwang.com/2009/11/11/intro2algorithm-notes/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 03:14:10 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=433</guid>
		<description><![CDATA[Part II Sorting
Ch9 Medians and order statistic
finding the minimum and maximum each = N comparison
finding them both = 3/2* N comparison
finding the second smallest = N + lgN -2 comparison : 
construct a comparison tree when finding the smallest, then replace the smallest with negative infinite
   and follow the tree again.
finding the kth [...]]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/11/11/intro2algorithm-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>memory alignment</title>
		<link>http://blog.mrcongwang.com/2009/10/17/memory-alignment/</link>
		<comments>http://blog.mrcongwang.com/2009/10/17/memory-alignment/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 02:06:43 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=425</guid>
		<description><![CDATA[alignment
struct{
 char data1;
 short data2;
 int data3;
 char data4;
}
==>
struct{
 char data1;
 char padding1[1]; // short需要align到2byte
 short data2;//不需要padding, int已经align到4byte
 int data3;
 char data4;
 char padding2[3];//虽然已经是最后一个元素 但是为了避免用在数组里的问题时 也不得不加上padding
}
]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/10/17/memory-alignment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>memmove implementation</title>
		<link>http://blog.mrcongwang.com/2009/10/16/memmove-implementation/</link>
		<comments>http://blog.mrcongwang.com/2009/10/16/memmove-implementation/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 16:57:39 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[memmove]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=423</guid>
		<description><![CDATA[void* memmove(void* p_dst, void* p_src, size_t size){
assert(!dst &#038;&#038; !src);
if(dst==src) return dst;
char* dst=static_cast p_dst;
char* src=static_cast p_src;
if(dst>src &#038; dst]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/10/16/memmove-implementation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>c++ primer plus notes</title>
		<link>http://blog.mrcongwang.com/2009/09/23/c-primer-plus-notes/</link>
		<comments>http://blog.mrcongwang.com/2009/09/23/c-primer-plus-notes/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 16:16:31 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=409</guid>
		<description><![CDATA[c++ is a superset of c which has extra OOP and generic programming capability.
K&#038;R C is classic C. new standard for C is ANSI/ISO C, a.k.a C99
#include   or #include
 for older system.
always use long variable for data longer than 32bit for the sake of good portability. 
const vs #define : 1 explicitly declared [...]]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/09/23/c-primer-plus-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>相当重要的决定</title>
		<link>http://blog.mrcongwang.com/2009/09/12/%e7%9b%b8%e5%bd%93%e9%87%8d%e8%a6%81%e7%9a%84%e5%86%b3%e5%ae%9a/</link>
		<comments>http://blog.mrcongwang.com/2009/09/12/%e7%9b%b8%e5%bd%93%e9%87%8d%e8%a6%81%e7%9a%84%e5%86%b3%e5%ae%9a/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 10:12:27 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Life, Feeling & Story]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=404</guid>
		<description><![CDATA[from now on:
脱离操作系统的看问题 多了解windows的运行原理
转向分布式系统的工程应用
转向更多的工程应用 不再执着于科学
]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/09/12/%e7%9b%b8%e5%bd%93%e9%87%8d%e8%a6%81%e7%9a%84%e5%86%b3%e5%ae%9a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>virtual memory management</title>
		<link>http://blog.mrcongwang.com/2009/09/09/virtual-memory-management/</link>
		<comments>http://blog.mrcongwang.com/2009/09/09/virtual-memory-management/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 19:24:19 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=402</guid>
		<description><![CDATA[virtual memory address 
VMA
&#124;virtual page number n bits&#124;virtual page offset mbits&#124;
VPN is used as index to find an entry in the address table which contains the physical page number
&#8230;&#8230;&#8230;&#8230;.
&#8230;&#8230;&#8230;&#8230;
&#8230;&#8230;&#8230;&#8230;
physical page number p bits
&#8230;&#8230;&#8230;&#8230;
&#8230;&#8230;&#8230;&#8230;
then PPN is concatencated with VPO to form the entire Physical Address
in fact, N bits in virtual address is transformed into P bits [...]]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/09/09/virtual-memory-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>通用状态更新器</title>
		<link>http://blog.mrcongwang.com/2009/09/04/%e9%80%9a%e7%94%a8%e7%8a%b6%e6%80%81%e6%9b%b4%e6%96%b0%e5%99%a8/</link>
		<comments>http://blog.mrcongwang.com/2009/09/04/%e9%80%9a%e7%94%a8%e7%8a%b6%e6%80%81%e6%9b%b4%e6%96%b0%e5%99%a8/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 13:56:06 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Universal Status Updater]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xiaonei]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=386</guid>
		<description><![CDATA[我把更新器分成了 http, XMPP, 其他
每个更新器都提供query(username, password) 和 update(username, password, status)方法
每个网站对应有自己的一个更新器
对外提供的是一个update.php页面 输入形如：
action=(query&#124;update)&#038;xml=

?View Code XML&#60;?xml version=&#34;1.0&#34; standalone=&#34;yes&#34;?&#62; 
&#60;usu&#62; 
&#60;site&#62; 
&#60;sitename&#62;renren.com&#60;/sitename&#62; 
&#60;username&#62;用户名&#60;/username&#62; 
&#60;password&#62;密码&#60;/password&#62; 
&#60;status&#62;test12345&#60;/status&#62; 
&#60;/site&#62; 
&#60;site&#62; 
&#60;sitename&#62;kaixin001.com&#60;/sitename&#62; 
&#60;username&#62;用户名&#60;/username&#62; 
&#60;password&#62;密码&#60;/password&#62; 
&#60;status&#62;test12345&#60;/status&#62; 
&#60;/site&#62; 
&#60;/usu&#62;

如果action是query 返回值形如：

?View Code XML&#60;?xml version=&#34;1.0&#34; standalone=&#34;yes&#34;?&#62; 
&#60;usu&#62; 
&#60;site&#62; 
&#60;sitename&#62;renren.com&#60;/sitename&#62; 
&#60;result&#62;状态 或者 login failed 或者 query failed&#60;/result&#62; 
&#60;/site&#62; 
&#60;site&#62; 
&#60;sitename&#62;kaixin001.com&#60;/sitename&#62; 
&#60;result&#62;状态&#60;/result&#62; 
&#60;/site&#62; 
&#60;/usu&#62;

如果为update 返回形如

?View Code XML &#60;?xml version=&#34;1.0&#34; standalone=&#34;yes&#34;?&#62; [...]]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/09/04/%e9%80%9a%e7%94%a8%e7%8a%b6%e6%80%81%e6%9b%b4%e6%96%b0%e5%99%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
