<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Flier&#039;s Sky</title>
	<atom:link href="http://flierlu.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://flierlu.wordpress.com</link>
	<description>Just another WordPress.com site</description>
	<lastBuildDate>Tue, 28 Sep 2010 03:21:38 +0000</lastBuildDate>
	<language>zh-cn</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='flierlu.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Flier&#039;s Sky</title>
		<link>http://flierlu.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://flierlu.wordpress.com/osd.xml" title="Flier&#039;s Sky" />
	<atom:link rel='hub' href='http://flierlu.wordpress.com/?pushpress=hub'/>
		<item>
		<title>陌生的天花板</title>
		<link>http://flierlu.wordpress.com/2009/01/18/%e9%99%8c%e7%94%9f%e7%9a%84%e5%a4%a9%e8%8a%b1%e6%9d%bf/</link>
		<comments>http://flierlu.wordpress.com/2009/01/18/%e9%99%8c%e7%94%9f%e7%9a%84%e5%a4%a9%e8%8a%b1%e6%9d%bf/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 17:30:15 +0000</pubDate>
		<dc:creator>Flier Lu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://flierlu.wordpress.com/2009/01/18/%e9%99%8c%e7%94%9f%e7%9a%84%e5%a4%a9%e8%8a%b1%e6%9d%bf</guid>
		<description><![CDATA[     也许是受了少许遗传因素或家庭传统的影响，从小就不安份于蛰居家中。时常抱着一枕少年的幻想与好奇，随着父母四处游历名山大川；稍大后更是少年不知愁滋味，任性的将时间和金钱挥洒于壮美山河之间，生活只是在旅行与筹划旅行之间切换。     而在习惯了现代化的飞机、汽车，亦或传统一些的徒步、马帮旅行之后，回过头看看一千年前的中世纪，现代意义上旅行这个概念形成之初，会发现我们所谓的旅行实际上早已没有自以为的冒险或辛劳，更多的只是一种体验方式或生活态度。         《中世纪的旅行》并不能算是一本故事性非常强的书。某种程度上来说，他是将中世纪的客观世界和主观认知，在旅行这个层面做了一个切片，然后以旅行方式、行者的心态和回忆中的幻想，展示给我们这些所谓的现代旅行者。     在旅行方式上，传统的交通工具和并不完善的路途保障，导致旅行的距离和时间之比，将人们的视野限制在一个狭隘的范围之内。源自于古罗马大道的路网体系，仅依赖于地方性领主和修道院来维护，必然导致旅行目的地可达的局部性。而时不时爆发的局部战争、四处游荡的匪徒、难以穿越的茂密森林和茫茫沙漠，致使长途旅行变成一项风险极大的行为。     因而在行者的动机和心态上，贸易和宗教，是这样恶劣的环境下，驱使其继续前行的重要原因。朝圣者、僧侣和十字军，抱着单纯或并不单纯的目的，在几百年间不停的，向着远方神许之地进发。在那个传统和时间几乎停滞的时代，试图改善自我生存状态的人，只能选择这种冒险的长途迁徙，来获取心灵上的救赎或荣誉，以及更为现实的物质上的财富。     当然，在这期间，也掺杂着与我们这个时代类似，将旅行作为一种游历的青年；为君王或雇主服务的信使和官员；以及将旅行作为生活本身的探险家和漂泊者。甚至一些朝圣者和大学生，也抱着类似的心态不停在城市间游荡。虽然千年已逝，但人性和生活本质上基本还是没有太大改变的。:)     但因为信息量和交流上的限制，彼时的人们对世界的认识，是狭隘和充满幻想的。种种关于遥远世界的传言和揣测，在主观偏见和客观无知的影响下，形成一个混乱和无序的整体认知。但想想当今，纵然有精确到米的地图，和顷刻跨越千里的交通工具，大众对所谓世界的认知，又何尝不是如此。坐在家中，看着电视里精心剪辑的节目，或翻着层层筛选后的书籍，我们有着近乎于古人想象中神灵的感知能力。但在这呈现给我们的世界背后，同样夹杂着偏见和无知，只不过隐式的被应用于选材、剪辑和我们的遥控器动作中罢了。     这也是为什么我一直倾向于，旅行时一定到当地去以当地人的方式与他们交流。走一样的路，吃一样的饭菜，干一样的活，平等的心态跟他们交流，才能感受到世界的真实存在。否则坐在大巴上看着旅行攻略，和中世纪酒馆里吟游诗人的传说，又有什么本质上的区别呢？     但就像中世纪游历的青年游历骑士所感受的，在旅行中从未知到未知的无限可能性，对遥远世界的向往和体验，以及早上醒来时陌生的天花板，大概可以算是现代意义上旅行的魅力所在吧。<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=6&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!3B002B2C3F5C8E36!692" class="bvMsg">
<p>     也许是受了少许遗传因素或家庭传统的影响，从小就不安份于蛰居家中。时常抱着一枕少年的幻想与好奇，随着父母四处游历名山大川；稍大后更是少年不知愁滋味，任性的将时间和金钱挥洒于壮美山河之间，生活只是在旅行与筹划旅行之间切换。
<p>    而在习惯了现代化的飞机、汽车，亦或传统一些的徒步、马帮旅行之后，回过头看看一千年前的中世纪，现代意义上旅行这个概念形成之初，会发现我们所谓的旅行实际上早已没有自以为的冒险或辛劳，更多的只是一种体验方式或生活态度。
<p> <a href="https://rchi6q.bay.livefilestore.com/y1mO5YdEsQ6N5H0_JJ6GM6lHvol8ODOUcK5QzVaH8JEXS62pz_HoHOnySO0VEP7Rk3HvUBJNtxN45gSRu05PoyHJGpMvcBc_aGlzeLBVbzy9clek1yMMHRB-OtpAeKNIULtAhyAma8JG4I/s2370556[2].jpg" rel="WLPP"><img title="s2370556" style="border-right:0;border-top:0;display:inline;border-left:0;border-bottom:0;" height="244" alt="s2370556" src="https://rchi6q.bay.livefilestore.com/y1m-aYJMVrqf1FD3HxQ6ECgbNUwe21ctxXNd9ar_Erqt4tTsoqNQ-U0oD97HZ0eL5CbvShsDkTXv7S0VW3kDoNJK1wfxuXIhFSPh3MbtO4GPU3m6Cbdk40dUUBV8uKRIgAiixdrTwRPF2Q/s2370556_thumb.jpg" width="171" border="0" /></a>  
<p>    《中世纪的旅行》并不能算是一本故事性非常强的书。某种程度上来说，他是将中世纪的客观世界和主观认知，在旅行这个层面做了一个切片，然后以旅行方式、行者的心态和回忆中的幻想，展示给我们这些所谓的现代旅行者。
<p>    在旅行方式上，传统的交通工具和并不完善的路途保障，导致旅行的距离和时间之比，将人们的视野限制在一个狭隘的范围之内。源自于古罗马大道的路网体系，仅依赖于地方性领主和修道院来维护，必然导致旅行目的地可达的局部性。而时不时爆发的局部战争、四处游荡的匪徒、难以穿越的茂密森林和茫茫沙漠，致使长途旅行变成一项风险极大的行为。
<p>    因而在行者的动机和心态上，贸易和宗教，是这样恶劣的环境下，驱使其继续前行的重要原因。朝圣者、僧侣和十字军，抱着单纯或并不单纯的目的，在几百年间不停的，向着远方神许之地进发。在那个传统和时间几乎停滞的时代，试图改善自我生存状态的人，只能选择这种冒险的长途迁徙，来获取心灵上的救赎或荣誉，以及更为现实的物质上的财富。
<p>    当然，在这期间，也掺杂着与我们这个时代类似，将旅行作为一种游历的青年；为君王或雇主服务的信使和官员；以及将旅行作为生活本身的探险家和漂泊者。甚至一些朝圣者和大学生，也抱着类似的心态不停在城市间游荡。虽然千年已逝，但人性和生活本质上基本还是没有太大改变的。:)
<p>    但因为信息量和交流上的限制，彼时的人们对世界的认识，是狭隘和充满幻想的。种种关于遥远世界的传言和揣测，在主观偏见和客观无知的影响下，形成一个混乱和无序的整体认知。但想想当今，纵然有精确到米的地图，和顷刻跨越千里的交通工具，大众对所谓世界的认知，又何尝不是如此。坐在家中，看着电视里精心剪辑的节目，或翻着层层筛选后的书籍，我们有着近乎于古人想象中神灵的感知能力。但在这呈现给我们的世界背后，同样夹杂着偏见和无知，只不过隐式的被应用于选材、剪辑和我们的遥控器动作中罢了。
<p>    这也是为什么我一直倾向于，旅行时一定到当地去以当地人的方式与他们交流。走一样的路，吃一样的饭菜，干一样的活，平等的心态跟他们交流，才能感受到世界的真实存在。否则坐在大巴上看着旅行攻略，和中世纪酒馆里吟游诗人的传说，又有什么本质上的区别呢？
<p>    但就像中世纪游历的青年游历骑士所感受的，在旅行中从未知到未知的无限可能性，对遥远世界的向往和体验，以及早上醒来时陌生的天花板，大概可以算是现代意义上旅行的魅力所在吧。  </p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/flierlu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/flierlu.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/flierlu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/flierlu.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/flierlu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/flierlu.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/flierlu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/flierlu.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/flierlu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/flierlu.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/flierlu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/flierlu.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/flierlu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/flierlu.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=6&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://flierlu.wordpress.com/2009/01/18/%e9%99%8c%e7%94%9f%e7%9a%84%e5%a4%a9%e8%8a%b1%e6%9d%bf/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac55698affbb0ca3273cc02ecc6fd020?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">flierlu</media:title>
		</media:content>

		<media:content url="https://rchi6q.bay.livefilestore.com/y1m-aYJMVrqf1FD3HxQ6ECgbNUwe21ctxXNd9ar_Erqt4tTsoqNQ-U0oD97HZ0eL5CbvShsDkTXv7S0VW3kDoNJK1wfxuXIhFSPh3MbtO4GPU3m6Cbdk40dUUBV8uKRIgAiixdrTwRPF2Q/s2370556_thumb.jpg" medium="image">
			<media:title type="html">s2370556</media:title>
		</media:content>
	</item>
		<item>
		<title>中世纪的思维盛宴</title>
		<link>http://flierlu.wordpress.com/2008/12/14/%e4%b8%ad%e4%b8%96%e7%ba%aa%e7%9a%84%e6%80%9d%e7%bb%b4%e7%9b%9b%e5%ae%b4/</link>
		<comments>http://flierlu.wordpress.com/2008/12/14/%e4%b8%ad%e4%b8%96%e7%ba%aa%e7%9a%84%e6%80%9d%e7%bb%b4%e7%9b%9b%e5%ae%b4/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 10:07:27 +0000</pubDate>
		<dc:creator>Flier Lu</dc:creator>
				<category><![CDATA[图书]]></category>

		<guid isPermaLink="false">http://flierlu.wordpress.com/2008/12/14/%e4%b8%ad%e4%b8%96%e7%ba%aa%e7%9a%84%e6%80%9d%e7%bb%b4%e7%9b%9b%e5%ae%b4</guid>
		<description><![CDATA[@douban.com @amazon.com 在这样一个懒散的冬日午后，一个充溢着阳光的房间里靠在桌前，耳边流淌着许巍悠远的歌声在诉说着什么，实在是阅读一本关于中世纪的历史书的最合适的情形。那一个个熟悉又陌生的名字，争先恐后的从书中跃起，在阳光中的尘埃里，大声宣读着他们的理念，自满、虔诚、愚昧、睿智、狡诈；却又随着书页的翻动，慢慢淡去只留下一个剪影，共同组成了那个波澜壮阔的时代。 断断续续用了大半年时间，才结束了这场中世纪的思维探险之旅。一方面是因为大量从前没有接触过的信息和思想，需要时间去深入了解和思考；另一方面也是因为一直不忍读得太快，希望能将思维的盛宴拖的尽可能长一些。 长久以来，在我等被传统教育摧残几至麻木的理科学生眼里，中世纪 (The Middle Age)欧洲的代名词几乎就是黑暗时代 (Dark Ages)、大瘟疫 (Great Plague)，亦或百年战争 (Hundred Years’ War)、十字军远征 (Crusades) 这样的考点，以及罗马帝国 (Roman Empire) 的荣光、狮心王 (the Lion-Hearted) 的传奇或伊斯兰全盛时期 (Islamic Golden Age) 的神秘。这整整1000年（公元5-15世纪）仿佛被厚重的名为愚昧的迷雾所遮掩，直到名为文艺复兴 (Renaissance) 的闪电划过天际，欧洲才跃入了一个至今为人羡慕的黄金时代，并立刻与那无知的过去划清界限。 但偶尔在仰慕那些华丽的哥特式建筑 (Gothic Architecture) 的时候，也会悄悄给自己一个问题，那些理应在生存与死亡边缘挣扎的中世纪民众，何以在层层迷雾之中创建如此璀璨的艺术。而在阅读二战或当代关于欧洲民族问题的书籍时，也不时觉得他们那自认为理所当然的理由，似乎隐藏着什么不为我们所知的背书。英国和法国的互相讥讽，德国与法国的时代恩仇以及巴尔干的错综复杂，仿佛都有一个源头。反过来再翻看文艺复兴、工业革命以及现代大陆法系 (Civil Law) 和英美法系 (Common law) 等等至今对我们产生深远影响的事件和概念形成与发展，也无不与那被遗忘的时代有关。   &#8230; <a href="http://flierlu.wordpress.com/2008/12/14/%e4%b8%ad%e4%b8%96%e7%ba%aa%e7%9a%84%e6%80%9d%e7%bb%b4%e7%9b%9b%e5%ae%b4/">繼續閱讀 <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=10&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!3B002B2C3F5C8E36!681" class="bvMsg">
<p style="text-indent:21pt;"><span style="font-family:宋体;"><br /></span>
<p style="text-indent:21pt;"><span style="font-family:宋体;"><span><a href="http://flierlu.files.wordpress.com/2008/12/s32960455b15d.jpg?w=101" target="_blank" rel="WLPP;url=http://flierlu.files.wordpress.com/2008/12/s32960455b15d.jpg"><img src="http://flierlu.files.wordpress.com/2008/12/s32960455b15d.jpg?w=101" alt="" /></a></span><br /></span>
<p style="text-indent:21pt;"><span style="font-family:宋体;">@<a target="_blank" href="http://www.douban.com/subject/2326273/">douban.com</a></span>
<p style="text-indent:21pt;"><span style="font-family:宋体;">@<a target="_blank" href="http://www.amazon.com/Medieval-Europe-C-Warren-Hollister/dp/0072346574">amazon.com</a></span>
<p style="text-indent:21pt;"><span style="font-family:宋体;"><br /></span></p>
<p style="text-indent:21pt;"><span style="font-family:宋体;">在这样一个懒散的冬日午后，一个充溢着阳光的房间里靠在桌前，耳边流淌着许巍悠远的歌声在诉说着什么，实在是阅读一本关于中世纪的历史书的最合适的情形。那一个个熟悉又陌生的名字，争先恐后的从书中跃起，在阳光中的尘埃里，大声宣读着他们的理念，自满、虔诚、愚昧、睿智、狡诈；却又随着书页的翻动，慢慢淡去只留下一个剪影，共同组成了那个波澜壮阔的时代。</span></p>
<p style="text-indent:21pt;"><span style="font-family:宋体;">断断续续用了大半年时间，才结束了这场中世纪的思维探险之旅。一方面是因为大量从前没有接触过的信息和思想，需要时间去深入了解和思考；另一方面也是因为一直不忍读得太快，希望能将思维的盛宴拖的尽可能长一些。</span></p>
<p style="margin-left:5.25pt;text-indent:15.75pt;"><span style="font-family:宋体;">长久以来，在我等被传统教育摧残几至麻木的理科学生眼里，中世纪</span> <span lang="EN-US">(<a href="http://en.wikipedia.org/wiki/Middle_Ages">The Middle Age</a>)</span><span style="font-family:宋体;">欧洲的代名词几乎就是黑暗时代</span><span lang="EN-US"> (<a href="http://en.wikipedia.org/wiki/Dark_Age">Dark Ages</a>)</span><span style="font-family:宋体;">、大瘟疫</span><span lang="EN-US"> (<a href="http://en.wikipedia.org/wiki/Black_Death">Great Plague</a>)</span><span style="font-family:宋体;">，亦或百年战争</span><span lang="EN-US"> (<a href="http://en.wikipedia.org/wiki/Hundred_Years'_War">Hundred Years’ War</a>)</span><span style="font-family:宋体;">、十字军远征</span><span lang="EN-US"> (<a href="http://en.wikipedia.org/wiki/Crusades">Crusades</a>) </span><span style="font-family:宋体;">这样的考点，以及罗马帝国</span><span lang="EN-US"><br />
(<a href="http://en.wikipedia.org/wiki/Roman_Empire">Roman Empire</a>) </span><span style="font-family:宋体;">的荣光、狮心王</span><span lang="EN-US"> (<a href="http://en.wikipedia.org/wiki/Richard_Lion-Heart">the Lion-Hearted</a>) </span><span style="font-family:宋体;">的传奇或伊斯兰全盛时期</span><span lang="EN-US"> (<a href="http://en.wikipedia.org/wiki/Islamic_Golden_Age">Islamic Golden Age</a>) </span><span style="font-family:宋体;">的神秘。这整整</span><span lang="EN-US">1000</span><span style="font-family:宋体;">年（公元</span><span lang="EN-US">5-15</span><span style="font-family:宋体;">世纪）仿佛被厚重的名为愚昧的迷雾所遮掩，直到名为文艺复兴</span><span lang="EN-US"> (<a href="http://en.wikipedia.org/wiki/Renaissance">Renaissance</a>)<br />
</span><span style="font-family:宋体;">的闪电划过天际，欧洲才跃入了一个至今为人羡慕的黄金时代，并立刻与那无知的过去划清界限。</span></p>
<p style="margin-left:5.25pt;text-indent:15.75pt;"><span style="font-family:宋体;">但偶尔在仰慕那些华丽的哥特式建筑</span> <span lang="EN-US">(<a href="http://en.wikipedia.org/wiki/Gothic_architecture">Gothic Architecture</a>)<br />
</span><span style="font-family:宋体;">的时候，也会悄悄给自己一个问题，那些理应在生存与死亡边缘挣扎的中世纪民众，何以在层层迷雾之中创建如此璀璨的艺术。而在阅读二战或当代关于欧洲民族问题的书籍时，也不时觉得他们那自认为理所当然的理由，似乎隐藏着什么不为我们所知的背书。英国和法国的互相讥讽，德国与法国的时代恩仇以及巴尔干的错综复杂，仿佛都有一个源头。反过来再翻看文艺复兴、工业革命以及现代大陆法系</span><span lang="EN-US"> (<a href="http://en.wikipedia.org/wiki/Civil_law_(legal_system)">Civil<br />
Law</a>) </span><span style="font-family:宋体;">和英美法系</span><span lang="EN-US"> (<a href="http://en.wikipedia.org/wiki/Common_law">Common law</a>) </span><span style="font-family:宋体;">等等至今对我们产生深远影响的事件和概念形成与发展，也无不与那被遗忘的时代有关。</span></p>
<p style="margin-left:5.25pt;text-indent:15.75pt;"><span lang="EN-US"> </span></p>
<p style="margin-left:5.25pt;text-indent:15.75pt;"><span style="font-family:宋体;">正如作者在导言中说到：</span></p>
<p style="margin-left:5.25pt;text-indent:15.75pt;"><i><span lang="EN-US"> </span></i></p>
<p style="margin-left:5.25pt;text-indent:15.75pt;"><i><span style="font-family:宋体;">“无论如何，中世纪都不是一个沉睡的、可怕的时代，而是一个充满变化的时代。公元</span><span lang="EN-US">600</span></i><i><span style="font-family:宋体;">年的欧洲和公元</span><span lang="EN-US">1000</span></i><i><span style="font-family:宋体;">年或</span><span lang="EN-US">1400</span></i><i><span style="font-family:宋体;">年的欧洲有着截然不同的景象。</span><span lang="EN-US"></span></i></p>
<p style="margin-left:5.25pt;text-indent:15.75pt;"><i><span style="font-family:宋体;">……</span><span lang="EN-US"></span></i></p>
<p style="margin-left:5.25pt;text-indent:15.75pt;"><i><span style="font-family:宋体;">直到今天，中世纪时关于教育、政府、社会结构、社会公正的观念仍然影响着非欧洲国家。大学是中世纪的发明；而现在，大学这种教育机构遍布全球。美国、墨西哥、加拿大、以色列、日本，以及东欧的几个新的民主国家，其立法机构都可以说是源自于中世纪的国会和议会。当今中国、古巴、朝鲜等国的共产主义政体，也源西欧的思想；其中一部分可追溯至卡尔</span><span lang="EN-US">.</span></i><i><span style="font-family:宋体;">马克思之前好几百年的中世纪晚期。</span><span lang="EN-US"></span></i></p>
<p style="margin-left:5.25pt;text-indent:15.75pt;"><i><span style="font-family:宋体;">……</span><span lang="EN-US"></span></i></p>
<p style="margin-left:5.25pt;text-indent:15.8pt;"><b><i><span style="font-family:宋体;">简而言之，西欧改变了整个世界，并将它带入我们身处其中的全球化文明；无论这种变化是好是坏，要了解他，我们必须回到中世纪来寻找一部分答案。</span></i></b><i><span style="font-family:宋体;">在漫长的中世纪，欧洲从贫困而极不安定的农业社会发展成强盛而别具一格的文明社会，对当代世界的成形有着深远的影响。”</span><span lang="EN-US"></span></i></p>
</p>
</p>
</p>
</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/flierlu.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/flierlu.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/flierlu.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/flierlu.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/flierlu.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/flierlu.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/flierlu.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/flierlu.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/flierlu.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/flierlu.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/flierlu.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/flierlu.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/flierlu.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/flierlu.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=10&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://flierlu.wordpress.com/2008/12/14/%e4%b8%ad%e4%b8%96%e7%ba%aa%e7%9a%84%e6%80%9d%e7%bb%b4%e7%9b%9b%e5%ae%b4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac55698affbb0ca3273cc02ecc6fd020?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">flierlu</media:title>
		</media:content>

		<media:content url="http://flierlu.files.wordpress.com/2008/12/s32960455b15d.jpg?w=101" medium="image" />
	</item>
		<item>
		<title>天堂里没有痛苦——yuannian 师兄，一路走好</title>
		<link>http://flierlu.wordpress.com/2007/06/20/%e5%a4%a9%e5%a0%82%e9%87%8c%e6%b2%a1%e6%9c%89%e7%97%9b%e8%8b%a6%e2%80%94%e2%80%94yuannian-%e5%b8%88%e5%85%84%ef%bc%8c%e4%b8%80%e8%b7%af%e8%b5%b0%e5%a5%bd/</link>
		<comments>http://flierlu.wordpress.com/2007/06/20/%e5%a4%a9%e5%a0%82%e9%87%8c%e6%b2%a1%e6%9c%89%e7%97%9b%e8%8b%a6%e2%80%94%e2%80%94yuannian-%e5%b8%88%e5%85%84%ef%bc%8c%e4%b8%80%e8%b7%af%e8%b5%b0%e5%a5%bd/#comments</comments>
		<pubDate>Wed, 20 Jun 2007 16:11:20 +0000</pubDate>
		<dc:creator>Flier Lu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://flierlu.wordpress.com/2007/06/20/%e5%a4%a9%e5%a0%82%e9%87%8c%e6%b2%a1%e6%9c%89%e7%97%9b%e8%8b%a6%e2%80%94%e2%80%94yuannian-%e5%b8%88%e5%85%84%ef%bc%8c%e4%b8%80%e8%b7%af%e8%b5%b0%e5%a5%bd</guid>
		<description><![CDATA[    晚上参加完公司的培训，回到宿舍刚坐定开始看文档，忽然收到QuickMouse从MSN上发来噩耗，原白云黄鹤BBS站长yuannian去世了。于是匆忙登录已经年余未上的白云黄鹤，在sysop看到了站务公告和QuickMouse的哀悼文章。为进一步获取详细情况，我又google到其父在文学论坛介绍的详情：     老年失子，痛彻心脾！欲哭无泪，斯伤何已！     一页一页看下来，我已不知该如何形容此时的感觉：几分惋惜，几分悲哀，几分愤怒!       30 岁正值黄金年华，无法成功立业也罢，竟至白发人送黑发人。虽未有妻儿之累，但难以想像其老父母，如何度过痛失骄子的残生，如何面对冰冷的遗像。     5 年的青春都献给了华为，1 年至经理，3 年至技术负责人。在发现白血病时却已至中晚期，后四个月骤然而逝。作为师弟，作为站友，作为IT同业人，我感到悲哀的同时感到无比的愤怒！         首先，根据 google 的结果，白血病分急性和慢性两种：前者是急性发作，起病的时候有很多症状、体征，比如出血，很难说有潜伏期；后者症状不明显，可能让你没有觉察到，很多人是到了有严重的症状才去看病。如果每年有体检的机会，可能比较早期就能发现。通过血象检查，白血病是比较容易确诊的。也就是说，作为一个有几万名高科技人才的华为，一个有着各种完善业务流程的国际化公司，竟然没有一个最基本的，确保其核心资产：人力资源长期可用性的体检制度。而与之相似的更多所谓高科技企业，在这方面也令人深表怀疑。有幸的是我工作的两家企业，无论规模大小在这方面还是非常正规和严谨的，也说明这跟企业规模无关而取决于重视程度。     其次，白血病的早期症状中，除了中后期的各种出血外，“持续头晕、高烧不退,脸色苍白、容易疲倦”等现象，实际上跟目前大部分 IT 人士长期处于的“亚健康”状态类似。以我个人经历为例，在到目前公司之前的大概两三年时间中，也是长期处于高度紧张的工作状态。其时除了高烧不退的情况较少外，实际上跟白血病早期的症状难以分辨。而一旦常年处于这种状态，人对健康的敏感程度也会逐渐下降，等到出现出血等严重症状时可能已经完了。而自己年少轻狂之时，又往往视健康为无物，期望以燃烧生命来弥补知识和技能上的缺陷。       低头反思，自己五一前西藏之行也是折戟于轻视二字。仗着较为丰富的户外经验、几次高原徒步的成功经历，在休息和准备不足的情况下，贸然组队租车向世界屋脊——阿里进发。途中又低估平均四千多米海拔缺氧的严重性，最终因睡觉着凉发展为肺水肿。如果不是路遇几位好心的当地人，被两天三夜连续驱车赶路，送回拉萨住院就诊，估计在白云黄鹤上站务公告里面就是我的名字了。躺在拉萨总参医院的病床上，同样也是连坐起或翻身都困难的我，最终侥幸得还；但师兄却没有这么幸运，没有逃脱病魔的魔爪。     好在经过一段长考，我痛定思痛开始尝试转变生活方式，而这次的濒死体验也进一步完善了自己的认识。期望其他朋友也能多以长远的眼光，来思考和规划自己的未来之路。   btw: 刚刚跟身在华为的另一位同学聊，据称他一位华为的博后师兄，前不久也不幸去世。而他业已准备在今年合同到期后，离职暂时回家修养。       希望这样的事情不要在无谓的重复，yuannian 师兄，一路走好！    <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=11&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!3B002B2C3F5C8E36!574" class="bvMsg">
<div>    晚上参加完公司的培训，回到宿舍刚坐定开始看文档，忽然收到QuickMouse从MSN上发来噩耗，原白云黄鹤BBS站长yuannian去世了。于是匆忙登录已经年余未上的白云黄鹤，在sysop看到了<a href="http://bbs.whnet.edu.cn/cgi-bin/bbscon?board=sysop&amp;file=M.1182346705.A&amp;top=1">站务公告</a>和<a href="http://bbs.whnet.edu.cn/cgi-bin/bbscon?board=sysop&amp;file=M.1182347321.A&amp;num=2065&amp;start=2050">QuickMouse的哀悼文章</a>。为进一步获取详细情况，我又google到其父在文学论坛介绍的详情：</div>
<div>    <strong><font color="#006600" size="4"><a href="http://bbs.cnhubei.com/dispbbs.asp?boardid=262&amp;replyid=2676742&amp;id=1149439&amp;page=1&amp;skin=0&amp;Star=1">老年失子，痛彻心脾！欲哭无泪，斯伤何已！</a></font></strong></div>
<div>    一页一页看下来，我已不知该如何形容此时的感觉：几分惋惜，几分悲哀，几分愤怒!</div>
<div> </div>
<div>    30 岁正值黄金年华，无法成功立业也罢，竟至白发人送黑发人。虽未有妻儿之累，但难以想像其老父母，如何度过痛失骄子的残生，如何面对冰冷的遗像。</div>
<div>    5 年的青春都献给了华为，1 年至经理，3 年至技术负责人。在发现白血病时却已至中晚期，后四个月骤然而逝。作为师弟，作为站友，作为IT同业人，我感到悲哀的同时感到无比的愤怒！</div>
<div>    </div>
<div>    首先，根据 google 的结果，白血病分急性和慢性两种：前者是急性发作，起病的时候有很多症状、体征，比如出血，很难说有潜伏期；后者<font color="#ff0000">症状不明显</font>，可能让你没有觉察到，很多人是到了有严重的症状才去看病。<font color="#ff0000">如果每年有体检的机会，可能比较早期就能发现。通过血象检查，白血病是比较容易确诊的。</font>也就是说，作为一个有几万名高科技人才的华为，一个有着各种完善业务流程的国际化公司，竟然没有一个最基本的，确保其核心资产：人力资源长期可用性的体检制度。而与之相似的更多所谓高科技企业，在这方面也令人深表怀疑。有幸的是我工作的两家企业，无论规模大小在这方面还是非常正规和严谨的，也说明这跟企业规模无关而取决于重视程度。</div>
<div>    其次，<a href="http://www.baixuebing.org/2005-1/2005130155500.htm">白血病的早期症状</a>中，除了中后期的各种出血外，“持续头晕、高烧不退,脸色苍白、容易疲倦”等现象，实际上跟目前大部分 IT 人士长期处于的<a href="http://www.subhealth.net/Article_Show.asp?ArticleID=18">“亚健康”状态</a>类似。以我个人经历为例，在到目前公司之前的大概两三年时间中，也是长期处于高度紧张的工作状态。其时除了高烧不退的情况较少外，实际上跟白血病早期的症状难以分辨。而一旦常年处于这种状态，人对健康的敏感程度也会逐渐下降，等到出现出血等严重症状时可能已经完了。而自己年少轻狂之时，又往往视健康为无物，期望以燃烧生命来弥补知识和技能上的缺陷。</div>
<div> </div>
<div>    低头反思，自己五一前西藏之行也是折戟于轻视二字。仗着较为丰富的户外经验、几次高原徒步的成功经历，在休息和准备不足的情况下，贸然组队租车向世界屋脊——阿里进发。途中又低估平均四千多米海拔缺氧的严重性，最终因睡觉着凉发展为肺水肿。如果不是路遇几位好心的当地人，被两天三夜连续驱车赶路，送回拉萨住院就诊，估计在白云黄鹤上站务公告里面就是我的名字了。躺在拉萨总参医院的病床上，同样也是连坐起或翻身都困难的我，最终侥幸得还；但师兄却没有这么幸运，没有逃脱病魔的魔爪。</div>
<div>    好在经过一段长考，我痛定思痛开始尝试转变生活方式，而这次的濒死体验也进一步完善了自己的认识。期望其他朋友也能多以长远的眼光，来思考和规划自己的未来之路。</div>
<div> </div>
<div>btw: 刚刚跟身在华为的另一位同学聊，据称他一位华为的博后师兄，前不久也不幸去世。而他业已准备在今年合同到期后，离职暂时回家修养。</div>
<div> </div>
<div>    希望这样的事情不要在无谓的重复，yuannian 师兄，一路走好！</div>
<div> </div>
<div> </div>
<p align="center"><img src="http://bbs.cnhubei.com/UploadFile/2007-6/20076158232047471.jpg" /></div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/flierlu.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/flierlu.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/flierlu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/flierlu.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/flierlu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/flierlu.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/flierlu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/flierlu.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/flierlu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/flierlu.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/flierlu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/flierlu.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/flierlu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/flierlu.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/flierlu.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/flierlu.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=11&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://flierlu.wordpress.com/2007/06/20/%e5%a4%a9%e5%a0%82%e9%87%8c%e6%b2%a1%e6%9c%89%e7%97%9b%e8%8b%a6%e2%80%94%e2%80%94yuannian-%e5%b8%88%e5%85%84%ef%bc%8c%e4%b8%80%e8%b7%af%e8%b5%b0%e5%a5%bd/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac55698affbb0ca3273cc02ecc6fd020?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">flierlu</media:title>
		</media:content>

		<media:content url="http://bbs.cnhubei.com/UploadFile/2007-6/20076158232047471.jpg" medium="image" />
	</item>
		<item>
		<title>another day</title>
		<link>http://flierlu.wordpress.com/2006/11/18/another-day/</link>
		<comments>http://flierlu.wordpress.com/2006/11/18/another-day/#comments</comments>
		<pubDate>Sat, 18 Nov 2006 16:28:35 +0000</pubDate>
		<dc:creator>Flier Lu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://flierlu.wordpress.com/2006/11/18/another-day</guid>
		<description><![CDATA[    又是平淡、充实的一天，睡到自然醒、美食、电影、羽毛球、麻辣烫，然后在许威悠远的歌声中享受着龙井的清香。但在快步穿过繁华的新街口商业街时，在高高跃起将一个后场球斜线扣死时，亦或隔着车窗看着夜色中快速略过的灯红酒绿时，我却似乎无法感觉到一丝的真实感，仿佛像是一个路过的灵魂在尘世中穿行。     当地铁列车从身边呼啸而过时，我仿佛又听到了小黑湖清晨时暴风雪的尖啸；当骑车的路人在车窗外缓缓穿行时，我仿佛又看到了烈日下慢慢爬升的马队；那路边欢喜的孩子的笑脸，也不知觉中与带着高原红的同样天真的孩子重合。     一霎那间，我仿佛能理解到兄弟连里，温斯特从伦敦地铁出来，在河边漫步，回旅舍在浴缸中泡热水时的那种奇妙感觉。那是一种由两个不同世界堆叠在一起的错乱感，是一种对世俗社会缺乏信任感和归属感的困惑，是一次对 Who am I 和 What am I doing 的质询。看来上一次的长考只管了半年<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=12&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!3B002B2C3F5C8E36!525" class="bvMsg">
<div>    又是平淡、充实的一天，睡到自然醒、美食、电影、羽毛球、麻辣烫，然后在许威悠远的歌声中享受着龙井的清香。但在快步穿过繁华的新街口商业街时，在高高跃起将一个后场球斜线扣死时，亦或隔着车窗看着夜色中快速略过的灯红酒绿时，我却似乎无法感觉到一丝的真实感，仿佛像是一个路过的灵魂在尘世中穿行。</div>
<div>    当地铁列车从身边呼啸而过时，我仿佛又听到了小黑湖清晨时暴风雪的尖啸；当骑车的路人在车窗外缓缓穿行时，我仿佛又看到了烈日下慢慢爬升的马队；那路边欢喜的孩子的笑脸，也不知觉中与带着高原红的同样天真的孩子重合。</div>
<div>    一霎那间，我仿佛能理解到兄弟连里，温斯特从伦敦地铁出来，在河边漫步，回旅舍在浴缸中泡热水时的那种奇妙感觉。那是一种由两个不同世界堆叠在一起的错乱感，是一种对世俗社会缺乏信任感和归属感的困惑，是一次对 Who am I 和 What am I doing 的质询。看来上一次的长考只管了半年</div>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/flierlu.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/flierlu.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/flierlu.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/flierlu.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/flierlu.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/flierlu.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/flierlu.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/flierlu.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/flierlu.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/flierlu.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/flierlu.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/flierlu.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/flierlu.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/flierlu.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/flierlu.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/flierlu.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=12&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://flierlu.wordpress.com/2006/11/18/another-day/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac55698affbb0ca3273cc02ecc6fd020?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">flierlu</media:title>
		</media:content>
	</item>
		<item>
		<title>NXT 学习笔记 [3] 获取 NXT 信息 (C++)</title>
		<link>http://flierlu.wordpress.com/2006/09/27/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-3-%e8%8e%b7%e5%8f%96-nxt-%e4%bf%a1%e6%81%af-c/</link>
		<comments>http://flierlu.wordpress.com/2006/09/27/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-3-%e8%8e%b7%e5%8f%96-nxt-%e4%bf%a1%e6%81%af-c/#comments</comments>
		<pubDate>Wed, 27 Sep 2006 16:45:52 +0000</pubDate>
		<dc:creator>Flier Lu</dc:creator>
				<category><![CDATA[机器人]]></category>

		<guid isPermaLink="false">http://flierlu.wordpress.com/2006/09/27/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-3-%e8%8e%b7%e5%8f%96-nxt-%e4%bf%a1%e6%81%af-c</guid>
		<description><![CDATA[    这个系列文章因为开始涉及到太多技术细节，跟这儿的定位不符合，改到另外一个 blog 上连载了，呵呵       http://www.blogcn.com/user8/flier_lu/index.html?tp=Robot##md   作为一个开放式扩展平台，LEGO 提供了 NXT 相关的非常详尽的资料。而作为二次开发不可或缺的 SDK，当然也包括在其中。在其网站的 NXT&#8217;reme 栏目中可以下载到针对 C++ 开发环境的 Driver SDK，支持 Windows 和 MAC 系统。    Driver SDK (fantomSDK1.0.2f0.zip 2.21MB)     因为 NXT 提供了 USB 和蓝牙两种连接方式，所以为了提供同一的编程接口，LEGO 通过一个 DLL 对其进行了封装。这个 DLL 有一个很 cool 的名字 —— 饭桶 (fantom.dll) -_-b  对 &#8230; <a href="http://flierlu.wordpress.com/2006/09/27/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-3-%e8%8e%b7%e5%8f%96-nxt-%e4%bf%a1%e6%81%af-c/">繼續閱讀 <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=7&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!3B002B2C3F5C8E36!483" class="bvMsg">
<div>    这个系列文章因为开始涉及到太多技术细节，跟这儿的定位不符合，改到另外一个 blog 上连载了，呵呵</div>
<div> </div>
<div>    <a href="http://www.blogcn.com/user8/flier_lu/index.html?tp=Robot##md">http://www.blogcn.com/user8/flier_lu/index.html?tp=Robot##md</a></div>
<div>  作为一个开放式扩展平台，LEGO 提供了 NXT 相关的非常详尽的资料。而作为二次开发不可或缺的 SDK，当然也包括在其中。在其网站的 <a href="http://mindstorms.lego.com/Overview/NXTreme.aspx">NXT&#8217;reme</a> 栏目中可以下载到针对 C++ 开发环境的 Driver SDK，支持 Windows 和 MAC 系统。<br />    <a href="http://mindstorms.lego.com/upload/contentTemplating/MindstormsOverview/otherfiles/2057/fantomSDK1.0.2f0(1)_1935F2F2-3052-406C-8F39-AE2C80C58BAF.zip">Driver SDK (fantomSDK1.0.2f0.zip 2.21MB)<br /></a>   <br />  因为 NXT 提供了 USB 和蓝牙两种连接方式，所以为了提供同一的编程接口，LEGO 通过一个 DLL 对其进行了封装。这个 DLL 有一个很 cool 的名字 —— 饭桶 (fantom.dll) -_-b<br />  对 USB 方式的连接，LEGO 提供的驱动 fantom.sys 与 NXT 直接进行通讯; 对蓝牙方式，则是在进行配对 (pair) 后，把 NXT 设备映射到一个 COM 端口，然后通过 Win32 文件方式访问端口进行通讯。Microsoft 在  <a href="http://msdn.microsoft.com/robotics/">Robotics Studio </a>中对 NXT 的支持就是通过后者的方式实现的。前者的好处是速度快且一次安装后使用时无需配置；后者则更为灵活，能够无线通讯，且不需要依赖特定驱动的安装。<br />  对于我们日常开发来说，直接使用 fantom.dll 可以很大程度上简化工作，下面我们看看如何通过 fantom 来获取 NXT 的各种信息。<br />  <br />  安装 Drvier SDK 后，在 documentfantom.chm 里是基本封装类型的使用帮助，以及一个简单的示例程序代码；includes 里是 fantom 的头文件，以及 labview 的 vi 支持库，这个后面有机会再详细介绍。targetswin32Ui386msvc71release 里是需要 link 的库文件。<br />  <br />  首先我们需要建立一个 iNXTIterator 对象，此对象能够对注册到系统上的 NXT 设备进行遍历。</p>
<p><font color="#339966">int _tmain(int argc, _TCHAR* argv[])<br />&#123;<br />  tStatus status;</font></div>
<div><font color="#339966">  std::cout &lt;&lt; &quot;枚举 NXT 设备&#8230;&quot;;</font></div>
<div><font color="#339966">  // 建立一个迭代子遍历所有的 NXT 实例<br />  iNXTIterator *nxtIteratorPtr = iNXT::createNXTIterator(<br />    false /* 不搜索通过蓝牙连接的 NXT (仅应用 USB 连接 ) */,<br />    0     /* 忽略蓝牙搜索的超时时间 */, <br />    status );</font></div>
<div><font color="#339966">  if (status.isFatal())<br />  &#123;<br />    std::cout &lt;&lt; &quot;失败，错误码：&quot; &lt;&lt; status.getCode() &lt;&lt; std::endl;<br />    return status.getCode();<br />  &#125;<br />  else<br />  &#123;<br />    std::cout &lt;&lt; &quot;成功！&quot; &lt;&lt; std::endl &lt;&lt; std::endl;<br />  &#125;</font></div>
<div><font color="#339966">  for (; status.isNotFatal(); nxtIteratorPtr-&gt;advance(status))<br />  &#123;<br />    iNXT* nxtPtr = nxtIteratorPtr-&gt;getNXT(status);</font></div>
<div><font color="#339966">    if (nxtPtr &amp;&amp; status.isSuccess())<br />    &#123;<br />     // 获取 NXT 设备的信息<br />    <br />      iNXT::destroyNXT( nxtPtr );<br />    &#125;<br />  &#125;</font></div>
<div><font color="#339966">  iNXT::destroyNXTIterator(nxtIteratorPtr);<br />&#125;</font></p>
<p>   这里的 tStatus 对象是对各种错误状态的封装，因为 LEGO 提供的是调试版本的 DLL，所以还可以通过此对象取得错误发生所在的文件和行号 :S 不知道 LEGO 是不是准备后期把这块的代码也开放了。<br />   值得注意的是，在操作 NXT 时创建的各种 iterator 或普通对象，使用完后都必须调用相应的 destroy 方法释放，最好是用 C++ 封装一个类来管理，这里为了简洁暂且不管。<br />   <br />   在获得了 NXT 对象后，可以调用其 getDeviceInfo 和 getFirmwareVersion 获得设备的详细信息   </p>
<p><font color="#339966">const size_t MAX_DEVICENAME_LEN = 16;</font></div>
<div><font color="#339966">void dump(iNXT&amp; nxt)<br />&#123;<br />   ViChar name[MAX_DEVICENAME_LEN];<br />   ViByte bluetoothAddress[6];<br />   ViUInt8 signalStrength[4];<br />   ViUInt32 availableFlash;<br />   tStatus status;</font></div>
<div><font color="#339966">   nxt.getDeviceInfo(name, bluetoothAddress, signalStrength, availableFlash, status);</font></div>
<div><font color="#339966">   if (status.isFatal())<br />   &#123;<br />     std::cerr &lt;&lt; &quot;获取 NXT 设备信息失败，错误码：&quot; &lt;&lt; status.getCode() &lt;&lt; std::endl;<br />     return;<br />   &#125;</font></div>
<div><font color="#339966">   ViUInt8 protocolVersionMajor, protocolVersionMinor;<br />   ViUInt8 firmwareVersionMajor, firmwareVersionMinor;</font></div>
<div><font color="#339966">   nxt.getFirmwareVersion(protocolVersionMajor, protocolVersionMinor,<br />     firmwareVersionMajor, firmwareVersionMinor, status);</font></div>
<div><font color="#339966">   if (status.isFatal())<br />   &#123;<br />     std::cerr &lt;&lt; &quot;获取 NXT 设备固件版本失败，错误码：&quot; &lt;&lt; status.getCode() &lt;&lt; std::endl;<br />     return;<br />   &#125;<br />  <br />   std::cout &lt;&lt; &quot;设备 &quot; &lt;&lt; (char *)name <br />     &lt;&lt; &quot;, protocol=&quot; &lt;&lt; (int)protocolVersionMajor &lt;&lt; &quot;.&quot; &lt;&lt; (int) protocolVersionMinor<br />     &lt;&lt; &quot;, firmware=&quot; &lt;&lt; (int)firmwareVersionMajor &lt;&lt; &quot;.&quot; &lt;&lt; (int)firmwareVersionMinor <br />     &lt;&lt; &quot;, Flash=&quot; &lt;&lt; std::setprecision(4) &lt;&lt; (double)availableFlash / 1024 &lt;&lt; &quot;KB&quot;<br />     &lt;&lt; std::endl;<br />&#125;</font><br />  <br />  因为前面指定只枚举 USB 方式连接的设备，因此这儿的蓝牙地址等信息暂时无用。<br />  <br />  输出信息大概如下：</p>
<p><font color="#3366ff">D:StudyRobotLegoDemoDebug&gt;LegoDemo.exe<br />枚举 NXT 设备&#8230;成功！</font></div>
<div><font color="#3366ff">设备 NXT, protocol=1.124, firmware=1.3, Flash=50.32KB</font></div>
<div>  对每个 NXT 设备来说，都安装了很多缺省的模块用于对各种外设提供支持，我们可以通过 iModuleIterator 获取获得支持的模块列表。</p>
<p><font color="#339966">const size_t MAX_MODULENAME_LEN = 20;</font></div>
<div><font color="#339966">void dump(iModule&amp; mod)<br />&#123;<br />  ViChar name[MAX_MODULENAME_LEN];</font></div>
<div><font color="#339966">  mod.getName(name);</font></div>
<div><font color="#339966">  std::cout &lt;&lt; &quot;    模块 &quot; &lt;&lt; std::setw(sizeof(name)) &lt;&lt; (char *)name <br />    &lt;&lt; &quot;tid=0x&quot; &lt;&lt; std::hex &lt;&lt; mod.getModuleID() &lt;&lt; std::dec <br />    &lt;&lt; &quot;tsize=&quot; &lt;&lt; mod.getModuleSize() <br />    &lt;&lt; &quot;tio=&quot; &lt;&lt; mod.getModuleIOMapSize() &lt;&lt; std::endl;<br />&#125;</font></div>
<div><font color="#339966">int _tmain(int argc, _TCHAR* argv[])<br />&#123;<br /> // 枚举 NXT 设备</font></div>
<div><font color="#339966"> std::cout &lt;&lt; &quot;  枚举设备支持模块&#8230;&quot;;<br /> <br /> iModuleIterator *modIteratorPtr = nxtPtr-&gt;createModuleIterator(&quot;*.mod&quot;, status);<br /> <br /> if (!modIteratorPtr || status.isFatal())<br /> &#123;<br />   std::cout &lt;&lt; &quot;失败，错误码：&quot; &lt;&lt; status.getCode() &lt;&lt; std::endl;<br /> &#125;<br /> else<br /> &#123;<br />   std::cout &lt;&lt; &quot;成功！&quot; &lt;&lt; std::endl;<br /> <br />   for (; status.isNotFatal(); modIteratorPtr-&gt;advance(status))<br />   &#123;<br />     iModule *modPtr = modIteratorPtr-&gt;getModule(status);<br /> <br />     if (modPtr &amp;&amp; status.isSuccess())<br />     &#123;<br />       dump(*modPtr);         <br /> <br />       nxtPtr-&gt;destroyModule(modPtr);<br />     &#125;<br />   &#125;<br /> <br />   nxtPtr-&gt;destroyModuleIterator(modIteratorPtr);<br /> &#125;  <br />&#125;</font></p>
<p>  在我的 8527 上的模块列表大致如下，此列表在以后刷 firmware 的时候有可能会变化。<br />  id 是模块的唯一编号；size 是模块的大小，不过似乎没用上；io 是此模块映射的 I/O 地址空间大小。</p>
<p><font color="#0000ff">设备 NXT, protocol=1.124, firmware=1.3, Flash=50.32KB<br />  枚举设备支持模块&#8230;成功！<br />    模块             Comm.mod   id=0&#215;50001      size=0  io=1896<br />    模块            Input.mod   id=0&#215;30001      size=0  io=80<br />    模块           Button.mod   id=0&#215;40001      size=0  io=36<br />    模块          Display.mod   id=0xa0001      size=0  io=1720<br />    模块           Loader.mod   id=0&#215;90001      size=0  io=8<br />    模块        Low Speed.mod   id=0xb0001      size=0  io=167<br />    模块           Output.mod   id=0&#215;20001      size=0  io=100<br />    模块            Sound.mod   id=0&#215;80001      size=0  io=30<br />    模块           IOCtrl.mod   id=0&#215;60001      size=0  io=2<br />    模块          Command.mod   id=0&#215;10001      size=0  io=32820<br />    模块               Ui.mod   id=0xc0001      size=0  io=40</font></div>
<div>  此外另一类重要信息是 NXT 上的文件列表，遍历的方式非常类似</div>
<div><font color="#339966">const size_t MAX_FILENAME_LEN = 20;</font></div>
<div><font color="#339966">void dump(iFile&amp; file)<br />&#123;<br />  tStatus status;<br />  ViChar name[MAX_FILENAME_LEN];</font></div>
<div><font color="#339966">  file.getName(name);</font></div>
<div><font color="#339966">  std::cout &lt;&lt; &quot;    文件 &quot; &lt;&lt; std::setw(sizeof(name)) &lt;&lt; std::right &lt;&lt; (char *)name &lt;&lt; std::left<br />    &lt;&lt; &quot;tsize=&quot; &lt;&lt; std::setw(10) &lt;&lt; std::left &lt;&lt; file.getSize(status)<br />    &lt;&lt; &quot;tavailable=&quot; &lt;&lt; file.getAvailableSize(status) &lt;&lt; std::endl;<br />&#125;</font></div>
<div><font color="#339966">int _tmain(int argc, _TCHAR* argv[])<br />&#123;<br /> // 枚举 NXT 设备</font></div>
<div><font color="#339966">  status.clear();</font></div>
<div><font color="#339966">  std::cout &lt;&lt; &quot;  枚举设备包含文件&#8230;&quot;;</font></div>
<div><font color="#339966">  iFileIterator *fileIteratorPtr = nxtPtr-&gt;createFileIterator(&quot;*.*&quot;, status);</font></div>
<div><font color="#339966">  if (!fileIteratorPtr || status.isFatal())<br />  &#123;<br />    std::cout &lt;&lt; &quot;失败，错误码：&quot; &lt;&lt; status.getCode() &lt;&lt; std::endl;<br />  &#125;<br />  else<br />  &#123;        <br />    std::cout &lt;&lt; &quot;成功！&quot; &lt;&lt; std::endl;</font></div>
<div><font color="#339966">    for (; status.isNotFatal(); fileIteratorPtr-&gt;advance(status))<br />    &#123;<br />      iFile *filePtr = fileIteratorPtr-&gt;getFile(status);</font></div>
<div><font color="#339966">      if (filePtr &amp;&amp; status.isSuccess())<br />      &#123;<br />        dump(*filePtr);</font></div>
<div><font color="#339966">        nxtPtr-&gt;destroyFile(filePtr);<br />      &#125;<br />    &#125;</font></div>
<div><font color="#339966">    nxtPtr-&gt;destroyFileIterator(fileIteratorPtr);<br />  &#125;<br />&#125;</font></p>
<p>  注意在两次枚举之间，需要用 status.clear 显式重置状态，否则调用会失败。<br />  <br />  一个典型的文件列表如下，此列表包括在 My Files 菜单下的所有类型文件<br />  size 是文件的实际大小；available 是文件的可用大小，不过似乎也没有支持。</p>
<p> <font color="#0000ff"> 枚举设备包含文件&#8230;成功！<br />    文件           config.txt   size=77         available=0<br />    文件        Timeglass.ric   size=76         available=0<br />    文件           hands2.ric   size=834        available=0<br />    文件             main.rxe   size=16930      available=0<br />    文件          Program.tmp   size=13         available=0<br />    文件         NVConfig.sys   size=1          available=0<br />    文件        RPGReader.sys   size=14346      available=0<br />    文件             Demo.rxe   size=9436       available=0<br />    文件        Try-Touch.rtm   size=3788       available=0<br />    文件        Try-Light.rtm   size=4456       available=0<br />    文件        Try-Sound.rtm   size=6864       available=0<br />    文件   Try-Ultrasonic.rtm   size=3756       available=0<br />    文件        Try-Motor.rtm   size=2630       available=0<br />    文件            Woops.rso   size=4699       available=0<br />    文件         faceopen.ric   size=316        available=0<br />    文件       faceclosed.ric   size=316        available=0<br />    文件        ! Startup.rso   size=8161       available=0<br />    文件          ! Click.rso   size=451        available=0<br />    文件      ! Attention.rso   size=1755       available=0</font><br /> <br />  实际上这种种的 API 调用，最终实现上都是通过相同的一套通讯协议完成的，也就是前面 NXT 信息中 protocol 版本所指定的协议。<a href="http://mindstorms.lego.com/upload/contentTemplating/MindstormsOverview/otherfiles/2057/LEGO MINDSTORMS NXT Bluetooth Developer Kit_58CE458E-5292-4CB0-93D2-4BEC821C13C2.zip">LEGO 在 Bluetooth Developer Kit (BDK)</a> 中有一份 Appendix 1-LEGO MINDSTORMS NXT Communication protocol 文档详细介绍了这个协议。<br />  因此我们也可以直接使用此协议，向 NXT 发送命令，这也是 Microsoft Robotics Studio 之所以能通过蓝牙方式，跳过必须安装驱动的限制的原因。</p>
<p><font color="#339966">void dump(iNXT&amp; nxt)<br />&#123;<br /> // 打印 NXT 基本信息<br /> <br />   ViUInt8 cmdPlayTone[] = &#123; 0&#215;03, 0&#215;00, 0&#215;18, 0&#215;10, 0&#215;00 &#125;;<br />    <br />   nxt.sendDirectCommand( <br />     false /* 此命令不需要等待响应 */,<br />     reinterpret_cast&lt; ViByte* &gt;( cmdPlayTone ), sizeof( cmdPlayTone ),<br />     NULL, 0 /* 没有响应缓冲区 */, <br />     status );<br />&#125;<br /></font><br />  上述代码会向 NXT 设备发送一个 Play Tone 的直接命令，发出一个短促的响声。回头有机会再详细分析吧 <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/flierlu.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/flierlu.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/flierlu.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/flierlu.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/flierlu.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/flierlu.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/flierlu.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/flierlu.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/flierlu.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/flierlu.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/flierlu.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/flierlu.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/flierlu.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/flierlu.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/flierlu.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/flierlu.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=7&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://flierlu.wordpress.com/2006/09/27/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-3-%e8%8e%b7%e5%8f%96-nxt-%e4%bf%a1%e6%81%af-c/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac55698affbb0ca3273cc02ecc6fd020?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">flierlu</media:title>
		</media:content>
	</item>
		<item>
		<title>NXT 学习笔记  [2] 运行时数据</title>
		<link>http://flierlu.wordpress.com/2006/09/26/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-2-%e8%bf%90%e8%a1%8c%e6%97%b6%e6%95%b0%e6%8d%ae/</link>
		<comments>http://flierlu.wordpress.com/2006/09/26/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-2-%e8%bf%90%e8%a1%8c%e6%97%b6%e6%95%b0%e6%8d%ae/#comments</comments>
		<pubDate>Tue, 26 Sep 2006 07:42:55 +0000</pubDate>
		<dc:creator>Flier Lu</dc:creator>
				<category><![CDATA[机器人]]></category>

		<guid isPermaLink="false">http://flierlu.wordpress.com/2006/09/26/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-2-%e8%bf%90%e8%a1%8c%e6%97%b6%e6%95%b0%e6%8d%ae</guid>
		<description><![CDATA[    前面曾经提到 NXT 的可执行文件由运行时数据 (Run-time Data)、调度 (Scheduling) 和字节码 (ByteCodes) 三部分组成。其中运行时数据可进一步分为数据空间目录 (Dataspace table of contents &#8211; DSTOC) 和数据空间缺省值 (Dataspace Defaults)。VM 在加载一个可执行文件时，会在对应的 32K 内存中划出一块专门用于存储数据空间 (Dataspace)，这块内存是由一系列不同类型的数据项组成，直接对应与可执行文件中的 DSTOC，如果有缺省值的话则自动进行初始化。因而后期字节码访问数据空间时，可以直接使用进程唯一的 DSTOC 索引号定位实际数据。与字节码指令类似，可执行文件中的 DSTOC 和缺省值不被加载到内存中，直接在 Flash 卡上进行地址映射。    而在数据空间中存储的数据项，其类型也是由 VM 预定义好的，直接在指令一级提供支持。      最常见的简单数据类型就是整数了，NXT 支持 8/16/32 位有符号或无符号整数，以及一系列针对整数的算术操作符。布尔类型在 NXT 中直接以 unsigned &#8230; <a href="http://flierlu.wordpress.com/2006/09/26/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-2-%e8%bf%90%e8%a1%8c%e6%97%b6%e6%95%b0%e6%8d%ae/">繼續閱讀 <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=14&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!3B002B2C3F5C8E36!479" class="bvMsg">
<div>    前面曾经提到 NXT 的可执行文件由运行时数据 (Run-time Data)、调度 (Scheduling) 和字节码 (ByteCodes) 三部分组成。其中运行时数据可进一步分为数据空间目录 (Dataspace table of contents &#8211; DSTOC) 和数据空间缺省值 (Dataspace Defaults)。VM 在加载一个可执行文件时，会在对应的 32K 内存中划出一块专门用于存储数据空间 (Dataspace)，这块内存是由一系列不同类型的数据项组成，直接对应与可执行文件中的 DSTOC，如果有缺省值的话则自动进行初始化。因而后期字节码访问数据空间时，可以直接使用进程唯一的 DSTOC 索引号定位实际数据。与字节码指令类似，可执行文件中的 DSTOC 和缺省值不被加载到内存中，直接在 Flash 卡上进行地址映射。<br />    而在数据空间中存储的数据项，其类型也是由 VM 预定义好的，直接在指令一级提供支持。<br />  <br />    最常见的简单数据类型就是整数了，NXT 支持 8/16/32 位有符号或无符号整数，以及一系列针对整数的算术操作符。布尔类型在 NXT 中直接以 unsigned byte 表示，0 表示 FALSE，其它值均为 TRUE。而浮点数、分数甚至复数之类都不在直接支持的范畴内，不过可以通过整数运算进行模拟，只是语法一级的问题罢了。<br />    较为复杂的数据类型是集合类型，NXT 提供内建数组 (array) 和簇 (cluster) 的支持。<br />    数组 (array) 是一组具有相同数据类型子元素的集合，并支持在运行时调整大小。例如可以定义一个长度为 0 的数组表示一组点，在运行时根据传感器采样进行扩展和填充。ASCII 字符串是一种特殊的 unsigned byte 数组，为兼容 C 的习惯其末尾会有一个 NULL(0) 作为结束符。<br />    簇 (cluster) 这是类似于其它语言中结构 (struct) 的概念，由一组不同类型子元素组合而成，一般被用于将相关数据封装到一起。<br />    NXT 中聚合类型是可以相互嵌套的，可以在一个簇里面定义几个不同类型的数组，也可以在将数组的元素类型定义为数组来模拟多维数组。<br />    此外 NXT 为多任务支持还提供了一种互斥量 (mutex) 类型。这种类型虽然实现上由一个 32bit 整数表示，但不能被用作聚集类型的子元素，因此只能独立存在并通过内建 OP_ACQUIRE/OP_RELEASE 指令进行操作。<br />  <br />    既然 DSTOC 将程序可用到的数据及其类型都已定义清楚，从 VM 角度就可以将之进一步分为运行时内存布局不会发生变化的静态数据，以及运行时需要进行调整的动态数据。前者包括 DSTOC 中绝大多数类型的数据，它们在编译期就有编译器根据情况确定了布局；后者则包括所有的数组类型，因为 NXT 提供动态调整数组大小的能力，所以它们在 DSTOC 中只是一个入口，由 VM 在运行器进行管理。<br />    落实到实现上，VM 将静态数据和动态数据放到两个不同的内存池中，前者在内存低地址区域固定，后者在内存高地址区域向下增长。如果动态内存区域超出内存池限额，系统会显示一个 File Error 的错误（不知道原因的话谁猜得出来）。<br />    而对程序的字节码来说，这些都是透明的，指令只需要使用全局唯一的 DSTOC 索引号即可访问到相应的数据项<br />  <br />    数据项地址 = 数据空间开始地址 + DSTOC[数据空间索引].offset<br />  <br />    对 VM 来说，静态数据基本上在编译期就确定了，它所需要关心的只是如何对动态数据进行管理。NXT 中引入了一个 dope vector (DV) 的概念，来针对每个动态数据项的变化进行跟踪。DV 结构的伪代码如下：<br />  <br />  typedef struct DopeVector &#123;<br />   short Offset,    // 数组数据在内存中的偏移<br />   short ElementSize, // 数组子元素的大小<br />   short ElementCount, // 数组子元素的个数<br />   short BackPointer, // 未用，用于建立双向链表？<br />   short LinkIndex   // 下一个 DV 的索引<br />  &#125; DV, *PDV;<br />  <br />    VM 维护了一个全局唯一的 dope vector array (DVA) 来跟踪在动态数据区域中分配的所有内存，所有 DV 又通过 DV.LinkIndex 以链表形式组织在一起，便于系统进行遍历和维护。当然这个 DVA 的存在对字节码来说是完全透明的，只是最大限度利用现有机制来实现自我管理。<br />    当字节码需要通过 DSTOC 索引访问数组时，通过 DSTOC 获得的内存偏移地址实际上指向的是一个 DV 索引，然后再根据 DV 索引从 DVA 中获取到实际的数组偏移地址。计算的方式如下：<br />  <br />  DV 索引地址 = 数据空间开始地址 + DSTOC[数据空间索引].offset<br />  数据项地址 = 数据空间开始地址 + DVA[DV 索引].offset<br />  <br />    通过这样一个两级索引定位，VM 可以在不需要对 DSTOC 和字节码做任何调整的情况下，根据运行时指令的需求修改数组的大小，因此所有的 DV 索引会跟 DSTOC 中的数组数据项绑定。<br />  <br />    此外对于嵌套实现的多维数组，除了第一维数组是在 DSTOC 中固定死的，其它每个子数组实际上在上一维中只是一个 DV 而已，字节码可以通过 OP_INDEX 等指令间接任意访问。</div>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/flierlu.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/flierlu.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/flierlu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/flierlu.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/flierlu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/flierlu.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/flierlu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/flierlu.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/flierlu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/flierlu.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/flierlu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/flierlu.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/flierlu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/flierlu.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/flierlu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/flierlu.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=14&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://flierlu.wordpress.com/2006/09/26/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-2-%e8%bf%90%e8%a1%8c%e6%97%b6%e6%95%b0%e6%8d%ae/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac55698affbb0ca3273cc02ecc6fd020?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">flierlu</media:title>
		</media:content>
	</item>
		<item>
		<title>NXT 学习笔记 [1] 系统架构</title>
		<link>http://flierlu.wordpress.com/2006/09/26/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-1-%e7%b3%bb%e7%bb%9f%e6%9e%b6%e6%9e%84/</link>
		<comments>http://flierlu.wordpress.com/2006/09/26/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-1-%e7%b3%bb%e7%bb%9f%e6%9e%b6%e6%9e%84/#comments</comments>
		<pubDate>Tue, 26 Sep 2006 03:49:09 +0000</pubDate>
		<dc:creator>Flier Lu</dc:creator>
				<category><![CDATA[机器人]]></category>

		<guid isPermaLink="false">http://flierlu.wordpress.com/2006/09/26/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-1-%e7%b3%bb%e7%bb%9f%e6%9e%b6%e6%9e%84</guid>
		<description><![CDATA[    熟悉了基本功能，接着可以看看一些技术层面的内容了，呵呵，毕竟买回来不是看手册拼模型的     Lego 这方面非常厚道，从系统结构到指令集，设置关键部件的线路图都有提供，看来是拼足了劲要把这摊子事搞大啊，呵呵     LEGO MINDSTORMS NXT Executable File Specification     这个手册虽然号称是可执行文件标准，但实际上对整个系统架构都做了比较详细的介绍。下面的大部分内容都是我通过阅读此手册总结或者翻译过来的，呵呵       NXT 的运算核心是一个 32bit 的 ARM7TDMI 嵌入式 RISC 处理器，主频一般在 115MHz(0.18 μm)-133MHz(0.13 μm) 之间，理论上回头可以自己把它换成 236MHz(90 nm) 的 ARM7，甚至接口兼容的其它型号，ARM 9/9E/10 都提供对 ARM7 程序的二进制兼容性。存储则包括 256K Flash 和 64K &#8230; <a href="http://flierlu.wordpress.com/2006/09/26/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-1-%e7%b3%bb%e7%bb%9f%e6%9e%b6%e6%9e%84/">繼續閱讀 <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=13&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!3B002B2C3F5C8E36!476" class="bvMsg">
<div>    熟悉了基本功能，接着可以看看一些技术层面的内容了，呵呵，毕竟买回来不是看手册拼模型的 <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </div>
<div>    Lego 这方面非常厚道，从系统结构到指令集，设置关键部件的线路图都有提供，看来是拼足了劲要把这摊子事搞大啊，呵呵</div>
<div>    <a href="http://mindstorms.lego.com/upload/contentTemplating/MindstormsOverview/otherfiles/2057/LEGO MINDSTORMS NXT Executable File Specification(1)_9143FED4-3FF8-40B1-A06F-78B530347A59.zip">LEGO MINDSTORMS NXT Executable File Specification</a></div>
<div>    这个手册虽然号称是可执行文件标准，但实际上对整个系统架构都做了比较详细的介绍。下面的大部分内容都是我通过阅读此手册总结或者翻译过来的，呵呵</div>
<div> </div>
<div>    NXT 的运算核心是一个 32bit 的 <a href="http://www.arm.com/products/CPUs/ARM7TDMI.html">ARM7TDMI</a> 嵌入式 RISC 处理器，主频一般在 115MHz(0.18 μm)-133MHz(0.13 μm) 之间，理论上回头可以自己把它换成 236MHz(90 nm) 的 ARM7，甚至接口兼容的其它型号，ARM 9/9E/10 都提供对 ARM7 程序的二进制兼容性。存储则包括 256K Flash 和 64K RAM，容量上跟现在动辄几 G 的系统没有可比性，不过对于嵌入式系统来说勉强也算够用。此外还集成了一个 8bit 的 <a href="http://www.atmel.com/SetLang.asp?lang=CN&amp;from=/products/AVR/Default.asp">AVR</a> 嵌入式 RISC 处理器，以及对应的 4K Flash 和 512B RAM (-_-b)，估计是用于 I/O 或步进电机控制。<br />    NXT 的软件系统，主要是一个扮演 OS 角色的 ANSI C 编写的 Frimware，提供对各种传感器/步进电机的控制，并为二次开发提供虚拟机(VM)支持。用户编写的程序会被编译成 NXT 的字节码(Byte Code)指令，以后缀为 .RXE 的特定可执行文件格式存储在 Flash 上，在执行时由 VM 加载并解析，并提供 32K 的 RAM 供执行。<br />    NXT 的可执行文件主要分为运行时数据 (Run-time Data)、调度 (Scheduling) 和字节码 (ByteCodes) 三部分。而在执行时 VM 会根据需求，为前两部分提供对应的 RAM 空间，存储可变的运行时状态信息。<br />    NXT 的字节码允许用户执行常规的数学/逻辑运算、指令流控制以及 I/O 操作等等，基本上是一个精简版本的 RISC 指令集。这些指令将根据功能以名为 clump 的方式组织在一起，类似子过程。NXT 中较为特殊的指令调度信息，将提供各个 clump 分别包括哪些字节码、clump 的运行时状态以及当前 clump 执行后应加载的其它 clump。VM 会根据这些记录，在 clump 所依赖数据就绪后再调用之。clump 之间也可以相互调用，但这个调用过程必须是同步的，调用者需挂起直到调用返回。此外 clump 本身是不可重入的，如果两个不同 clump 需要调用一个共享 clump，则调用者必须通过互斥量 (Mutex) 确保不会重入，因此 clump 调用自身的递归操作也是不被支持的。<br />    NXT 之所以采用这样一个机制，估计是放弃了基于堆栈的思路，通过 clump 为单位来简化 VM 的设计。与之相对应的是其可视化编程环境中，常用操作都是被一个个小方块(Lego 积木？)封装起来，然后通过拖拉和逻辑组合来实现算法；这样一来实现上就较为简单，常用操作映射到 clump，组合逻辑映射到调度 (Scheduling)。不过基于其字节码支持访问内存的考虑，理论上不排除能对其架构进行改进，通过内存操作模仿堆栈来实现 clump 重入和递归的可能性。<br />    此外一个好消息是 VM 能够提供多个 clump 并行执行的支持，完成多个任务的 clump 在数据就绪的情况下能够逻辑上并行执行；同时一个坏消息则是虽然 VM 能在指令一级帮助解决资源冲突，但还是需要自己来判断并处理竞争条件。<br />  <br />    NXT 的程序运行可以分为四个阶段：<br />  <br />    1.验证 (Validation): 加载文件并验证版本和其它文件头信息<br />    2.激活 (Activation): 在 RAM 中分配并初始化运行时数据<br />    3.执行 (Execution): 解析文件中的字节码指令，根据调度信息运行相应 clump<br />    4.停止 (Deactivation): 重新初始化所有 I/O 系统和 RAM 中的数据结构<br />  <br />    值得注意的是在执行过程中，所有的字节码都不会被载入到内存，而是通过直接映射 Flash 卡到地址空间完成。这样的好处是内存只被用来保存可变得程序数据，坏处则是代码在执行的过程中无法被改变。</div>
<div> </div>
<div>to be continue&#8230;</div>
<div> </div>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/flierlu.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/flierlu.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/flierlu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/flierlu.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/flierlu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/flierlu.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/flierlu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/flierlu.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/flierlu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/flierlu.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/flierlu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/flierlu.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/flierlu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/flierlu.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/flierlu.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/flierlu.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=13&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://flierlu.wordpress.com/2006/09/26/nxt-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0-1-%e7%b3%bb%e7%bb%9f%e6%9e%b6%e6%9e%84/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac55698affbb0ca3273cc02ecc6fd020?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">flierlu</media:title>
		</media:content>
	</item>
		<item>
		<title>成功进入机器人时代 :D</title>
		<link>http://flierlu.wordpress.com/2006/09/25/%e6%88%90%e5%8a%9f%e8%bf%9b%e5%85%a5%e6%9c%ba%e5%99%a8%e4%ba%ba%e6%97%b6%e4%bb%a3-d/</link>
		<comments>http://flierlu.wordpress.com/2006/09/25/%e6%88%90%e5%8a%9f%e8%bf%9b%e5%85%a5%e6%9c%ba%e5%99%a8%e4%ba%ba%e6%97%b6%e4%bb%a3-d/#comments</comments>
		<pubDate>Mon, 25 Sep 2006 17:52:23 +0000</pubDate>
		<dc:creator>Flier Lu</dc:creator>
				<category><![CDATA[机器人]]></category>

		<guid isPermaLink="false">http://flierlu.wordpress.com/2006/09/25/%e6%88%90%e5%8a%9f%e8%bf%9b%e5%85%a5%e6%9c%ba%e5%99%a8%e4%ba%ba%e6%97%b6%e4%bb%a3-d</guid>
		<description><![CDATA[    经过在 eBay 上近半个月的坚苦搏杀，终于赶在十一前拿到了向往已久的 Lego Mindstorms NXT。与那些貌似有趣但本质上只会摇尾巴的所谓娱乐机器人不同，这次 Lego 发布的 NXT 绝对是一个划时代的产品。内建 32bit ARM7 处理器，自带光、声、雷达和接触传感器，最大三路步进电机输出，支持蓝牙/USB接口。最为关键的是，除了自带的图形化可视编程界面外，提供了较为完整的各种开发SDK，而 MS 更是推出了支持此平台的基于 C# 的开发环境 Microsoft Robotics studio。这意味着 NXT 已经脱离了一个玩具的范畴，第一次让机器人变得平民化，是迈向机器人时代的坚实的一步。回想当年 Intel 推出的 8086/8088 正是扮演了类似的角色，让 PC 真正成为平民化的工具，相信机器人时代的到来也不再是科幻小说中的情节。     说了半天废话，让我们先来看看 NXT 的第一印象，好大一个包装盒，呵呵       完整版本的 NXT 在 Lego 自己网站上标价 &#8230; <a href="http://flierlu.wordpress.com/2006/09/25/%e6%88%90%e5%8a%9f%e8%bf%9b%e5%85%a5%e6%9c%ba%e5%99%a8%e4%ba%ba%e6%97%b6%e4%bb%a3-d/">繼續閱讀 <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=9&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!3B002B2C3F5C8E36!470" class="bvMsg">
<div>    经过在 eBay 上近半个月的坚苦搏杀，终于赶在十一前拿到了向往已久的 <a href="http://mindstorms.lego.com/default.aspx">Lego Mindstorms NXT</a>。与那些貌似有趣但本质上只会摇尾巴的所谓娱乐机器人不同，这次 Lego 发布的 NXT 绝对是一个划时代的产品。内建 <a href="http://mindstorms.lego.com/Overview/The_NXT.aspx">32bit ARM7 处理器</a>，自带<a href="http://mindstorms.lego.com/Overview/Light_Sensor.aspx">光</a>、<a href="http://mindstorms.lego.com/Overview/Sound_Sensor.aspx">声</a>、<a href="http://mindstorms.lego.com/Overview/Ultrasonic_Sensor.aspx">雷达</a>和<a href="http://mindstorms.lego.com/Overview/Touch_Sensor.aspx">接触</a>传感器，最大三路<a href="http://mindstorms.lego.com/Overview/Interactive_Servo_Motors.aspx">步进电机</a>输出，支持<a href="http://mindstorms.lego.com/Overview/Bluetooth.aspx">蓝牙</a>/USB接口。最为关键的是，除了自带的图形化可视编程界面外，提供了较为完整的各种<a href="http://mindstorms.lego.com/Overview/NXTreme.aspx">开发SDK</a>，而 MS 更是推出了支持此平台的基于 C# 的开发环境 <span><a href="http://msdn.microsoft.com/robotics/">Microsoft Robotics studio</a>。这意味着 NXT 已经脱离了一个玩具的范畴，第一次让机器人变得平民化，是迈向机器人时代的坚实的一步。回想当年 Intel 推出的 8086/8088 正是扮演了类似的角色，让 PC 真正成为平民化的工具，相信机器人时代的到来也不再是科幻小说中的情节。</span></div>
<div><span>    说了半天废话，让我们先来看看 NXT 的第一印象，好大一个包装盒，呵呵</span></div>
<p><img src="http://tkfiles.storage.msn.com/x1pTgUg2odfMEAst9LlPInUKfo5-7fIIn1vGl1bCD59JZ4DBjqnfxq1n6QhFLHa5QmZx_uW1Iel0RkIER5c9BgTj1Bv87PGVO45Q6CcEDbKvDOpLD_oF0KoclGQ0bmnS0xTK7y2aBmeYnGgkLvBVgQ0KA" /> </p>
<p>    完整版本的 NXT 在 Lego 自己网站上<a href="http://shop.lego.com/product.asp?p=8527">标价 $250</a>，但实际上通过 eBay 等方式 $200-$210 就能拿下，不过比较郁闷的是从米国邮寄回来大概需要 $50-$60，如果有朋友能从国外或香港带是最合适不过了。</p>
<p><img src="http://tkfiles.storage.msn.com/x1pTgUg2odfMEAst9LlPInUKfo5-7fIIn1vGl1bCD59JZ5EmAt6zSLJF56oSJMjH1i9dXmwZi9gumyt2SJumwhHmIuLh9pgmi02w5u5A2Yg-q04LeISPhJx1vv4U1oYRmvu2BgdUGckALRbZlUynVZXuw" /></p>
<p>    拆开大盒子，其实里面东西不算太多。最多的是大把大把的 Lego 塑料积木，这是组成各种不同机器人造型的基础原料，种类我可以负责任的说是相当的多，光十字形连接杆就有9种不同长度，各种转接头的种类更是繁多，搞得我大部分时间用在寻找合适的元件上，回头得去买个厨房用的佐料盒分门别类 <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><img src="http://tkfiles.storage.msn.com/x1pTgUg2odfMEAst9LlPInUKfo5-7fIIn1vGl1bCD59JZ4hCbHO1ifmeJDr0oloeNQ1RvmoBLVfXGa_0C7q7HNkRuoEJIwJ1tPK_qn7-c7FG2aJd2bfB3--jz29d3E4hev-rfYqFA7wgAAsxclzN3qOlw" /> </p>
<p>    除此之外在几个小盒子里面装的是 NXT 的核心部件，缺省自带一个主机兼控制器、四种传感器、三个步进电机以及一对乱七八糟的连接线啥的。具体的功效回头等我弄明白了再单独解说。:P</p>
<p><img src="http://tkfiles.storage.msn.com/x1pTgUg2odfMEAst9LlPInUKfo5-7fIIn1vGl1bCD59JZ6n8TVaAM-8DpA6K86GYRdIqgqr7eFY5mZNvAM9Dc6FoImVyKefiZwoL4-2oupdqskWTEOjunJQF3fHDk1rvSTdAD89XDFDWmKFf8bIGgnm9w" /> </p>
<p>    再来一张核心部件的分解图，呵呵</p>
<p><img src="http://tkfiles.storage.msn.com/x1pZLh117Fh3wrfa3Iy61C6CBf9kOpCBW_s4HkmxcHAss3y9P0TAh-on2kCOnZKPlSX-_dot3QpcaUJ-pS1NQiZkraJilwI8emqd8iwZQL4UZw7dld3Yyb6uoOX9S7aw97ZCgEOrDNhFBc" /></p>
<p>    主机上提供是个传感器输入接口（1，2，3，4），三个步进电机输出接口(A, B, C)，一个 USB 接口用于从 PC 上下载程序，一个小 LCD 黑白屏用于基本控制和状态显示，此外还内建蓝牙接口用于与外部通讯。能源部分使用六节 5 号电池，没有发现外接电源的接口。可以说整个系统设计的非常简介，在满足基本功能的前提下一点多余都没有，回头有时间将之拆开再仔细分析一把 <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  </p>
<p><img src="http://tkfiles.storage.msn.com/x1pZLh117Fh3wrfa3Iy61C6CEGoZyV8AtFaYTf15RTNi-NJsPxFc5WQtcF6IuFJEGoC_z838hZ2IFwJ1ucMnW0w4ruQO6YIj4lMTroxN7G9p1axVhyjynLdsVON-KaAVOAJ" /> </p>
<div><span></span> </div>
<div>    作为老牌的玩具厂商，LEGO 的可视化编程环境做的非常简单易用。从左边工具条中将各种常见操作（如A口步进电机正向转3圈，或者声音传感器收到一定大小的声音）拖动到中央工作区，然后用逻辑条件进行组合，最后点击一个 Download 按钮就会自动编译并下载到 NXT 的 Flash 上。此外右边还通过 Flash 方式提供了非常详细的 Step by Step 快速入门，可以根据上面的说明快速熟悉各种部件和环境的使用方法。</div>
<p><img src="http://tkfiles.storage.msn.com/x1pZLh117Fh3wrfa3Iy61C6CGRKQ1MctkQBKa-RjXU8Vjguy_VtyOVEgD5PRb0zp4twmF3mHpevH41qUgkBjPTyDJdDvr-Eld8rR7MOY3ZpkbXXDirzGJ8m1AnUJ9Mw7MqVRBVC_E2OB0g" /> </p>
<div>     这是我根据 Quick Start 拼装出来的 <a href="http://mindstorms.lego.com/Overview/MTR_Tribot.aspx">TriBot </a>机器人，呵呵。它首先会用雷达探测面前是否有目标（一个蓝色小球）；如果有的话就冲过去，直到碰撞传感器告诉它已经到跟前；接着它会等你的暗号，击掌一声后，用两个大钳子夹起球；掉转180度最大速度跑开（没人追你啊）；碰到地上有条黑线后放下球。</div>
<div>    呵呵，功能是弱了点，不过好歹是偶的 NXT 第一次露面，来两张特写先 <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </div>
<p><img src="http://tkfiles.storage.msn.com/x1pZLh117Fh3wrfa3Iy61C6CFmdIJXb82VqeTke3SCrJZcdldpjXdKMfdHYFH6LhGbs4FUvAhwa-AMlnhsqovUSQukdSJmYKnHxhKSYUR_TftbnXFmcNgZGe8msC7v7Bni304eodcQmI7M" /> <img src="http://tkfiles.storage.msn.com/x1pZLh117Fh3wrfa3Iy61C6CLdMFQgbG80-IjSyVWjogVcM0ReSwdj0eU5_OcfUJzZHvmh3Mf77sHEmB_A6wok3681C2XGD1OvxNfun6mXEw7V6_DqSHn64BIyXsjA6XNkxddP0BdAwzGw" /> </p>
<div> </div>
</div>
<table cellspacing="0" border="0">
<tr>
<td></td>
</tr>
<tr>
<td valign="top"><a href="http://byfiles.storage.live.com/y1pdOCa2VKqWvJWPYMfuiypHj6I2yvX3oRPr0rtUNq9k83JB4YkOVCbTcf4Uar1EEyNhcLfwr5vhRQ" target="_blank" rel="WLPP;url=http://byfiles.storage.live.com/y1pdOCa2VKqWvJWPYMfuiypHj6I2yvX3oRPr0rtUNq9k83JB4YkOVCbTcf4Uar1EEyNhcLfwr5vhRQ;cnsid=cns&#033;3B002B2C3F5C8E36&#033;461"><img src="http://byfiles.storage.live.com/y1pdOCa2VKqWvJWPYMfuiypHggIQYvO-Ayh-DgUsgB7LM79Iyz0bTjzF1GwPgwUJsQkaDOYs-gYBPs" border="0" alt="" /></a></td>
<td width="15"></td>
<td valign="top"><a href="http://byfiles.storage.live.com/y1pmRHtIAkgq_xyQUXrUBTZ85I-tK3ejwI-PH7VhmAEUbPNikv1aY0usEjQmnqFa5ixWe4_7WCpgsg" target='_blank' rel="WLPP;url=http://byfiles.storage.live.com/y1pmRHtIAkgq_xyQUXrUBTZ85I-tK3ejwI-PH7VhmAEUbPNikv1aY0usEjQmnqFa5ixWe4_7WCpgsg;cnsid=cns&#033;3B002B2C3F5C8E36&#033;462"><img src="http://byfiles.storage.live.com/y1pmRHtIAkgq_xyQUXrUBTZ87eWa4PNtVfM31xjyk7AaUq-sPW0iHpcT8Nqao-fGIq-S5y1ZFP9mq8" border="0" alt="" /></a></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td valign="top"><a href="http://byfiles.storage.live.com/y1pOXIEOc5amKvTIM-y0xHhgcIunSM-FYH0L_I_E0rid9T_sBkNFguTCnkoKzkal1CBkaas5ksstJ8" target="_blank" rel="WLPP;url=http://byfiles.storage.live.com/y1pOXIEOc5amKvTIM-y0xHhgcIunSM-FYH0L_I_E0rid9T_sBkNFguTCnkoKzkal1CBkaas5ksstJ8;cnsid=cns&#033;3B002B2C3F5C8E36&#033;463"><img src="http://byfiles.storage.live.com/y1pOXIEOc5amKvTIM-y0xHhgWCdFJ3oJXg1F43QoKuR0hZWUW9wjm0sDvOORI3D-XqLgokY_0SLVpI" border="0" alt="" /></a></td>
<td width="15"></td>
<td valign="top"><a href="http://byfiles.storage.live.com/y1pN_7CPKlW4nn8mSA1rE_67h-nRUVCked_8U6N6oXotZOqMYQdB9Hq7SlkDE74d8bfhm6nDHchgzU" target='_blank' rel="WLPP;url=http://byfiles.storage.live.com/y1pN_7CPKlW4nn8mSA1rE_67h-nRUVCked_8U6N6oXotZOqMYQdB9Hq7SlkDE74d8bfhm6nDHchgzU;cnsid=cns&#033;3B002B2C3F5C8E36&#033;464"><img src="http://byfiles.storage.live.com/y1pN_7CPKlW4nn8mSA1rE_67h1eq7zoLxqXq-ugCo6p20AGQDcb4n5hIIxwFxn6A3ScHuFXhOBsFdk" border="0" alt="" /></a></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td valign="top"><a href="http://byfiles.storage.live.com/y1p0a1zqx1PGUuAbKFoBYbMh4rALcq9ke7s00UR0JRt64AtI1erRWpona1_FMOVlrK_Y2MHH9Qbm9E" target="_blank" rel="WLPP;url=http://byfiles.storage.live.com/y1p0a1zqx1PGUuAbKFoBYbMh4rALcq9ke7s00UR0JRt64AtI1erRWpona1_FMOVlrK_Y2MHH9Qbm9E;cnsid=cns&#033;3B002B2C3F5C8E36&#033;465"><img src="http://byfiles.storage.live.com/y1p0a1zqx1PGUuAbKFoBYbMh14yQQQoV2ETGIoi1tNCR3kuw11AAE_JT8mmp_ynLH6sAI-NFaUfwqU" border="0" alt="" /></a></td>
<td width="15"></td>
<td valign="top"><a href="http://byfiles.storage.live.com/y1p-Gblpl6sJaGiImKqOh6WEQHcvS-JIXDunybjsDuQcOiMj7u5jgpSdp34E5PKcZBHmFWzivra360" target='_blank' rel="WLPP;url=http://byfiles.storage.live.com/y1p-Gblpl6sJaGiImKqOh6WEQHcvS-JIXDunybjsDuQcOiMj7u5jgpSdp34E5PKcZBHmFWzivra360;cnsid=cns&#033;3B002B2C3F5C8E36&#033;466"><img src="http://byfiles.storage.live.com/y1p-Gblpl6sJaGiImKqOh6WEUQxObq9voU4SI100YDvqJKBUNFa5HBmOBrmlm6VbvwNweOjH25Nivk" border="0" alt="" /></a></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td valign="top"><a href="http://byfiles.storage.live.com/y1pdsjZT0DfK8TwYa4AKpMC6ToGonufFi4yDchckRYSMGL6KI8L2IqszXkm1_-KIfIB4eHXJtbf6yg" target="_blank" rel="WLPP;url=http://byfiles.storage.live.com/y1pdsjZT0DfK8TwYa4AKpMC6ToGonufFi4yDchckRYSMGL6KI8L2IqszXkm1_-KIfIB4eHXJtbf6yg;cnsid=cns&#033;3B002B2C3F5C8E36&#033;467"><img src="http://byfiles.storage.live.com/y1pdsjZT0DfK8TwYa4AKpMC6RS2zSNhV0K27_lfQolkN7pt0uwHKfbptheV18p20FlfUKVFF02XFdQ" border="0" alt="" /></a></td>
<td width="15"></td>
<td valign="top"><a href="http://byfiles.storage.live.com/y1p-8G9KiBtPeSIy7jwN-oQNbysPHtwRwuOWnYMp6jqGa2kw8hoPq6fQMvzy_TuVt1lsw1zFmU_yKQ" target='_blank' rel="WLPP;url=http://byfiles.storage.live.com/y1p-8G9KiBtPeSIy7jwN-oQNbysPHtwRwuOWnYMp6jqGa2kw8hoPq6fQMvzy_TuVt1lsw1zFmU_yKQ;cnsid=cns&#033;3B002B2C3F5C8E36&#033;468"><img src="http://byfiles.storage.live.com/y1p-8G9KiBtPeSIy7jwN-oQNY1VOrMb00vhkAiZrhgs-2yHJbUg3gmSe4YIKlxea5Ay-tNKWbYD9Ic" border="0" alt="" /></a></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td valign="top"><a href="http://byfiles.storage.live.com/y1pqrSaWfx1Oaxkzy25TnvM7TtP1LjtTECRywb7EK1p3eO6cYCUeJo-ZnbccPh5SX-dDVyQJgpKjAI" target="_blank" rel="WLPP;url=http://byfiles.storage.live.com/y1pqrSaWfx1Oaxkzy25TnvM7TtP1LjtTECRywb7EK1p3eO6cYCUeJo-ZnbccPh5SX-dDVyQJgpKjAI;cnsid=cns&#033;3B002B2C3F5C8E36&#033;469"><img src="http://byfiles.storage.live.com/y1pqrSaWfx1Oaxkzy25TnvM7ZEdaGjJFNnjrr3ghejVcELlC45G5W4juB2QvtzM0UWKUuxkmV8puog" border="0" alt="" /></a></td>
</tr>
</table>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/flierlu.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/flierlu.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/flierlu.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/flierlu.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/flierlu.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/flierlu.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/flierlu.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/flierlu.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/flierlu.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/flierlu.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/flierlu.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/flierlu.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/flierlu.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/flierlu.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/flierlu.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/flierlu.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=9&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://flierlu.wordpress.com/2006/09/25/%e6%88%90%e5%8a%9f%e8%bf%9b%e5%85%a5%e6%9c%ba%e5%99%a8%e4%ba%ba%e6%97%b6%e4%bb%a3-d/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac55698affbb0ca3273cc02ecc6fd020?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">flierlu</media:title>
		</media:content>

		<media:content url="http://tkfiles.storage.msn.com/x1pTgUg2odfMEAst9LlPInUKfo5-7fIIn1vGl1bCD59JZ4DBjqnfxq1n6QhFLHa5QmZx_uW1Iel0RkIER5c9BgTj1Bv87PGVO45Q6CcEDbKvDOpLD_oF0KoclGQ0bmnS0xTK7y2aBmeYnGgkLvBVgQ0KA" medium="image" />

		<media:content url="http://tkfiles.storage.msn.com/x1pTgUg2odfMEAst9LlPInUKfo5-7fIIn1vGl1bCD59JZ5EmAt6zSLJF56oSJMjH1i9dXmwZi9gumyt2SJumwhHmIuLh9pgmi02w5u5A2Yg-q04LeISPhJx1vv4U1oYRmvu2BgdUGckALRbZlUynVZXuw" medium="image" />

		<media:content url="http://tkfiles.storage.msn.com/x1pTgUg2odfMEAst9LlPInUKfo5-7fIIn1vGl1bCD59JZ4hCbHO1ifmeJDr0oloeNQ1RvmoBLVfXGa_0C7q7HNkRuoEJIwJ1tPK_qn7-c7FG2aJd2bfB3--jz29d3E4hev-rfYqFA7wgAAsxclzN3qOlw" medium="image" />

		<media:content url="http://tkfiles.storage.msn.com/x1pTgUg2odfMEAst9LlPInUKfo5-7fIIn1vGl1bCD59JZ6n8TVaAM-8DpA6K86GYRdIqgqr7eFY5mZNvAM9Dc6FoImVyKefiZwoL4-2oupdqskWTEOjunJQF3fHDk1rvSTdAD89XDFDWmKFf8bIGgnm9w" medium="image" />

		<media:content url="http://tkfiles.storage.msn.com/x1pZLh117Fh3wrfa3Iy61C6CBf9kOpCBW_s4HkmxcHAss3y9P0TAh-on2kCOnZKPlSX-_dot3QpcaUJ-pS1NQiZkraJilwI8emqd8iwZQL4UZw7dld3Yyb6uoOX9S7aw97ZCgEOrDNhFBc" medium="image" />

		<media:content url="http://tkfiles.storage.msn.com/x1pZLh117Fh3wrfa3Iy61C6CEGoZyV8AtFaYTf15RTNi-NJsPxFc5WQtcF6IuFJEGoC_z838hZ2IFwJ1ucMnW0w4ruQO6YIj4lMTroxN7G9p1axVhyjynLdsVON-KaAVOAJ" medium="image" />

		<media:content url="http://tkfiles.storage.msn.com/x1pZLh117Fh3wrfa3Iy61C6CGRKQ1MctkQBKa-RjXU8Vjguy_VtyOVEgD5PRb0zp4twmF3mHpevH41qUgkBjPTyDJdDvr-Eld8rR7MOY3ZpkbXXDirzGJ8m1AnUJ9Mw7MqVRBVC_E2OB0g" medium="image" />

		<media:content url="http://tkfiles.storage.msn.com/x1pZLh117Fh3wrfa3Iy61C6CFmdIJXb82VqeTke3SCrJZcdldpjXdKMfdHYFH6LhGbs4FUvAhwa-AMlnhsqovUSQukdSJmYKnHxhKSYUR_TftbnXFmcNgZGe8msC7v7Bni304eodcQmI7M" medium="image" />

		<media:content url="http://tkfiles.storage.msn.com/x1pZLh117Fh3wrfa3Iy61C6CLdMFQgbG80-IjSyVWjogVcM0ReSwdj0eU5_OcfUJzZHvmh3Mf77sHEmB_A6wok3681C2XGD1OvxNfun6mXEw7V6_DqSHn64BIyXsjA6XNkxddP0BdAwzGw" medium="image" />

		<media:content url="http://byfiles.storage.live.com/y1pdOCa2VKqWvJWPYMfuiypHggIQYvO-Ayh-DgUsgB7LM79Iyz0bTjzF1GwPgwUJsQkaDOYs-gYBPs" medium="image" />

		<media:content url="http://byfiles.storage.live.com/y1pmRHtIAkgq_xyQUXrUBTZ87eWa4PNtVfM31xjyk7AaUq-sPW0iHpcT8Nqao-fGIq-S5y1ZFP9mq8" medium="image" />

		<media:content url="http://byfiles.storage.live.com/y1pOXIEOc5amKvTIM-y0xHhgWCdFJ3oJXg1F43QoKuR0hZWUW9wjm0sDvOORI3D-XqLgokY_0SLVpI" medium="image" />

		<media:content url="http://byfiles.storage.live.com/y1pN_7CPKlW4nn8mSA1rE_67h1eq7zoLxqXq-ugCo6p20AGQDcb4n5hIIxwFxn6A3ScHuFXhOBsFdk" medium="image" />

		<media:content url="http://byfiles.storage.live.com/y1p0a1zqx1PGUuAbKFoBYbMh14yQQQoV2ETGIoi1tNCR3kuw11AAE_JT8mmp_ynLH6sAI-NFaUfwqU" medium="image" />

		<media:content url="http://byfiles.storage.live.com/y1p-Gblpl6sJaGiImKqOh6WEUQxObq9voU4SI100YDvqJKBUNFa5HBmOBrmlm6VbvwNweOjH25Nivk" medium="image" />

		<media:content url="http://byfiles.storage.live.com/y1pdsjZT0DfK8TwYa4AKpMC6RS2zSNhV0K27_lfQolkN7pt0uwHKfbptheV18p20FlfUKVFF02XFdQ" medium="image" />

		<media:content url="http://byfiles.storage.live.com/y1p-8G9KiBtPeSIy7jwN-oQNY1VOrMb00vhkAiZrhgs-2yHJbUg3gmSe4YIKlxea5Ay-tNKWbYD9Ic" medium="image" />

		<media:content url="http://byfiles.storage.live.com/y1pqrSaWfx1Oaxkzy25TnvM7ZEdaGjJFNnjrr3ghejVcELlC45G5W4juB2QvtzM0UWKUuxkmV8puog" medium="image" />
	</item>
		<item>
		<title>泸沽湖 —— 亚丁 D -1</title>
		<link>http://flierlu.wordpress.com/2006/06/04/%e6%b3%b8%e6%b2%bd%e6%b9%96-%e2%80%94%e2%80%94-%e4%ba%9a%e4%b8%81-d-1/</link>
		<comments>http://flierlu.wordpress.com/2006/06/04/%e6%b3%b8%e6%b2%bd%e6%b9%96-%e2%80%94%e2%80%94-%e4%ba%9a%e4%b8%81-d-1/#comments</comments>
		<pubDate>Sun, 04 Jun 2006 16:12:34 +0000</pubDate>
		<dc:creator>Flier Lu</dc:creator>
				<category><![CDATA[旅游]]></category>

		<guid isPermaLink="false">http://flierlu.wordpress.com/2006/06/04/%e6%b3%b8%e6%b2%bd%e6%b9%96-%e2%80%94%e2%80%94-%e4%ba%9a%e4%b8%81-d-1</guid>
		<description><![CDATA[  在我去过的诸多古城或号称古城的地方之中，丽江的大研古城是保护的相对完好的。但这种完好也仅仅体现在建筑风格上，真正的文化的核心————人，实际上也只是保持着商业上的完美。因此除了第一次去丽江时还饶有兴趣的逛逛街市，后面再去时基本上都刻意避开人群，免得看那些已经扮成当地人的外地人，和另外一些想扮成当地人的外地人，在这个纳西主题公园里面，贩卖着廉价的所谓文化。  不过在这熙熙攘攘的闹市之中，也是有不少闹中取静的好去处。例如下午四五点时，爬到狮子山万古楼下找个木椅、亦或躲到黄山公园的凉棚中，砌上一壶清茶、摊开一本好书、换上一副好心情，在从云中洒下的缕缕昔阳中，体会那种宁静而志远的心境。如果时节好的时候，恰好还能碰到低而厚重的雨云，从远处的山边慢慢笼罩过半壁古城，一面是明媚的阳光，一面是茫茫的细雨，不一会儿就云淡风清又一捧彩虹横挂枝头，就如许巍在歌中唱到的一样：    &#8230;  好像梦里醒来  见到清新的世界  此刻寂静的心  自在又安祥  我心深处的孤独渴望  我曾莫名的无尽等待  就这样消逝风里风里  就这样消逝风里  无踪影  &#8230;    待天稍稍有些黑了，可以快步穿过四方街上目光呆滞的人群，去七一街抢上一碗川西的肥肠粉。如果食欲好，则会多走几步到木府边上的阿哩哩，尝尝阿呆自酿的青梅酒和姥姥的臭豆腐烧牛肉，这是丽江古城里面为数不多可以算作美食的   说起阿哩哩的阿呆，这又是另一个故事了，有兴趣可以逛逛他的 blog (http://alili.tianyablog.com/)。    如果还是不想回去，可以再爬回狮子山，在半山的青年旅馆，要上一杯云南本地的小粒咖啡，坐在长长的木廊边，凝视着山下的万家灯火。四方街上的熊熊火焰与欢闹人群，给夜幕笼罩下的古城凭增一份奢靡。而在此时，摇曳的灯火和喧嚣的歌声，在黑暗中被放大并扭曲，让距离和时间都慢慢变得不真实起来。    不过这次我还是选择呆在客栈里面调整心态，以尽早从快节奏的都市生活切换到慢节奏的度假生活。    睡到自然醒，洗个热水澡，然后靸着拖鞋，窝在院里的沙发中，看着那只刚刚几个月的小狗，步履蹒跚在院中乱窜。    这家客栈有个小而精致的院落，可以看出以前的房东下过一番心思，虽然面积不大但各种植物错落有致，四季常青且花期相接。一面客房门前立着大片的大叶爬山虎，遮住烈日的同时不忘放入丝丝缕缕的光斑；对过是一棵挺拔的樱花树，不巧刚刚过了花期，只剩一些被雨打过的残花；四周则是一些叫不上名字的高矮植物，零零散散但并不杂乱的点缀在院中。青石和石子铺就的地面古朴而典雅，加上仿古的红漆大门和黄铜门环，真有点古意但并不显得做作。    在院里发了会儿呆翻了会儿书，趁天气凉爽到菜市场去溜达了一圈。如果说有什么地方能够让你直接感受到生活真实，那应该就是菜市场或农贸市场了。四处看看，给朋友带了条当地土烟，本还想整个西瓜回去，掂了掂分量只好放弃 :S    估计是因为老板怕吵，客栈里没有自动洗衣机，于是拿着盆子杀到白马龙潭寺门口洗衣服去 :S 跟一群大妈大婶一起，蹲在三眼井的末端，使尽十八般手艺慢慢折腾那几件衣物，全然不顾旁边参观的旅客诧异的目光。这三眼井历经百年的沧桑，蹲在井边的人换了一代又一代，真让我有点时光回朔的感觉     晚上本想请老板出去喝酒，结果反而被老板拉回家蹭饭，完了又是一人一杯清茶，有一搭没一搭的聊天。虽然有李江山这样一个豪气的汉语名字，但他实际上内心并不适应丽江的商业气氛，对我这种扛着大包的背包组也有着独特的偏爱。在丽江生活几年之后，实际上他的心还留在虎跳峡的群山之中。而与我一样无奈的是，也只能通过不断的抱怨，和偶尔的调剂来缓解，并无法去打破或改变什么。而我这样的背包客，在能唤起他对往日回忆的同时，共同的对大自然的热爱和对生活的感恩，也使得交流起来格外容易。也许这就是现代人的悲哀，在现实和理想之间无法自己把握方向。<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=15&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!3B002B2C3F5C8E36!439" class="bvMsg">
<div>  在我去过的诸多古城或号称古城的地方之中，丽江的大研古城是保护的相对完好的。但这种完好也仅仅体现在建筑风格上，真正的文化的核心————人，实际上也只是保持着商业上的完美。因此除了第一次去丽江时还饶有兴趣的逛逛街市，后面再去时基本上都刻意避开人群，免得看那些已经扮成当地人的外地人，和另外一些想扮成当地人的外地人，在这个纳西主题公园里面，贩卖着廉价的所谓文化。<br />  不过在这熙熙攘攘的闹市之中，也是有不少闹中取静的好去处。例如下午四五点时，爬到狮子山万古楼下找个木椅、亦或躲到黄山公园的凉棚中，砌上一壶清茶、摊开一本好书、换上一副好心情，在从云中洒下的缕缕昔阳中，体会那种宁静而志远的心境。如果时节好的时候，恰好还能碰到低而厚重的雨云，从远处的山边慢慢笼罩过半壁古城，一面是明媚的阳光，一面是茫茫的细雨，不一会儿就云淡风清又一捧彩虹横挂枝头，就如许巍在歌中唱到的一样：<br />  <br />  &#8230;<br />  好像梦里醒来<br />  见到清新的世界<br />  此刻寂静的心<br />  自在又安祥<br />  我心深处的孤独渴望<br />  我曾莫名的无尽等待<br />  就这样消逝风里风里<br />  就这样消逝风里<br />  无踪影<br />  &#8230;<br />  <br />  待天稍稍有些黑了，可以快步穿过四方街上目光呆滞的人群，去七一街抢上一碗川西的肥肠粉。如果食欲好，则会多走几步到木府边上的阿哩哩，尝尝阿呆自酿的青梅酒和姥姥的臭豆腐烧牛肉，这是丽江古城里面为数不多可以算作美食的 <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> <br />  说起阿哩哩的阿呆，这又是另一个故事了，有兴趣可以逛逛他的 blog (<a href="http://alili.tianyablog.com/">http://alili.tianyablog.com/</a>)。<br />  <br />  如果还是不想回去，可以再爬回狮子山，在半山的青年旅馆，要上一杯云南本地的小粒咖啡，坐在长长的木廊边，凝视着山下的万家灯火。四方街上的熊熊火焰与欢闹人群，给夜幕笼罩下的古城凭增一份奢靡。而在此时，摇曳的灯火和喧嚣的歌声，在黑暗中被放大并扭曲，让距离和时间都慢慢变得不真实起来。<br />  <br />  不过这次我还是选择呆在客栈里面调整心态，以尽早从快节奏的都市生活切换到慢节奏的度假生活。<br />  <br />  睡到自然醒，洗个热水澡，然后靸着拖鞋，窝在院里的沙发中，看着那只刚刚几个月的小狗，步履蹒跚在院中乱窜。<br />  <br />  这家客栈有个小而精致的院落，可以看出以前的房东下过一番心思，虽然面积不大但各种植物错落有致，四季常青且花期相接。一面客房门前立着大片的大叶爬山虎，遮住烈日的同时不忘放入丝丝缕缕的光斑；对过是一棵挺拔的樱花树，不巧刚刚过了花期，只剩一些被雨打过的残花；四周则是一些叫不上名字的高矮植物，零零散散但并不杂乱的点缀在院中。青石和石子铺就的地面古朴而典雅，加上仿古的红漆大门和黄铜门环，真有点古意但并不显得做作。<br />  <br />  在院里发了会儿呆翻了会儿书，趁天气凉爽到菜市场去溜达了一圈。如果说有什么地方能够让你直接感受到生活真实，那应该就是菜市场或农贸市场了。四处看看，给朋友带了条当地土烟，本还想整个西瓜回去，掂了掂分量只好放弃 :S<br />  <br />  估计是因为老板怕吵，客栈里没有自动洗衣机，于是拿着盆子杀到白马龙潭寺门口洗衣服去 :S 跟一群大妈大婶一起，蹲在三眼井的末端，使尽十八般手艺慢慢折腾那几件衣物，全然不顾旁边参观的旅客诧异的目光。这三眼井历经百年的沧桑，蹲在井边的人换了一代又一代，真让我有点时光回朔的感觉 <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />  <br />  晚上本想请老板出去喝酒，结果反而被老板拉回家蹭饭，完了又是一人一杯清茶，有一搭没一搭的聊天。虽然有李江山这样一个豪气的汉语名字，但他实际上内心并不适应丽江的商业气氛，对我这种扛着大包的背包组也有着独特的偏爱。在丽江生活几年之后，实际上他的心还留在虎跳峡的群山之中。而与我一样无奈的是，也只能通过不断的抱怨，和偶尔的调剂来缓解，并无法去打破或改变什么。而我这样的背包客，在能唤起他对往日回忆的同时，共同的对大自然的热爱和对生活的感恩，也使得交流起来格外容易。也许这就是现代人的悲哀，在现实和理想之间无法自己把握方向。</div>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/flierlu.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/flierlu.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/flierlu.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/flierlu.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/flierlu.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/flierlu.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/flierlu.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/flierlu.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/flierlu.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/flierlu.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/flierlu.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/flierlu.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/flierlu.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/flierlu.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/flierlu.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/flierlu.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=15&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://flierlu.wordpress.com/2006/06/04/%e6%b3%b8%e6%b2%bd%e6%b9%96-%e2%80%94%e2%80%94-%e4%ba%9a%e4%b8%81-d-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac55698affbb0ca3273cc02ecc6fd020?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">flierlu</media:title>
		</media:content>
	</item>
		<item>
		<title>泸沽湖 —— 亚丁 D -2</title>
		<link>http://flierlu.wordpress.com/2006/06/01/%e6%b3%b8%e6%b2%bd%e6%b9%96-%e2%80%94%e2%80%94-%e4%ba%9a%e4%b8%81-d-2/</link>
		<comments>http://flierlu.wordpress.com/2006/06/01/%e6%b3%b8%e6%b2%bd%e6%b9%96-%e2%80%94%e2%80%94-%e4%ba%9a%e4%b8%81-d-2/#comments</comments>
		<pubDate>Thu, 01 Jun 2006 15:52:40 +0000</pubDate>
		<dc:creator>Flier Lu</dc:creator>
				<category><![CDATA[旅游]]></category>

		<guid isPermaLink="false">http://flierlu.wordpress.com/2006/06/01/%e6%b3%b8%e6%b2%bd%e6%b9%96-%e2%80%94%e2%80%94-%e4%ba%9a%e4%b8%81-d-2</guid>
		<description><![CDATA[  本来是不打算写游记的，一来自己比较懒而且号称比较忙，二来一直以为旅程是无法记述而只能体会的。但架不住诸多朋友的反复关心，只好把一些零散的感想记录一下，希望能让朋友们分享我的快乐 D -2   直到再一次踏出丽江机场的大门，在寂静星空照耀和凉爽的夜风吹拂下，呼吸着掺杂着沁人心脾的淡淡草香的气息，才真正意识到我又回到这个梦中的地方。虽然此时还不知我的大包被转运到哪架飞机上，也不知未来几天的旅程该如何安排，但现在想什么也没用，当务之急是找个小酒馆吃点新鲜的菜肴，加上一瓶冰镇的本地啤酒。:P    也许这就是我喜欢走长线的原因之一，从一个未知到另一个未知。    虽然从一个多月以前就开始准备这趟行程，但我并无意去把每一个细节都安排清楚。毕竟长线中有太多的不确定因素，明确方向然后坚定的前行是我唯一可控的。而在此过程中碰到的问题和解决问题的过程，往往才是旅程中最有趣的谈资。  就好比今天的旅程：早上还在公司翘着二郎腿开周年庆典大会，中午就匆匆忙忙打车去机场去赶堵车实况，好容易提前5分钟赶到换了登机牌后发现飞机晚点，百无聊赖在候机厅看完所有杂志后，到了丽江机场只好再一路狂奔，可还是晚了半分种才注册完毕，托运行礼却因为还没取到，只能跟着后面的航班转运，还免费获赠一张机场对我行礼不负责任的免责声明。于是我只好在饿着坐了一天飞机后，孤零零一个人躺在候机厅沙发上，等着还不知道在哪儿的行礼 :S 用当时某人给我回的短信的话来说，就是每一个精彩的旅程都有一个糟糕的开始，哈哈，我定义他在夸奖我     也许是老天想多给我一个理由留在丽江，机场工作人员告诉我行礼要跟午夜最后一趟航班过来，于是我用最快的速度冲出机场，快步走向向往已久的最近的一个小酒馆，哈哈，一份火腿、一盆菜汤、一瓶啤酒、一碗米饭，完了再来上一壶龙井，开始有点找到度假的感觉了。     因为准备转长途车去泸沽湖，决定住客运站附近的白马龙潭客栈，打电话跟老板套了套交情并订了床位，领到行礼后跟几个成都来的朋友拼车回丽江，顺道帮客栈老板拉了一票生意，忽悠了一车人直接开了过去。  说起这个客栈老板也是个很有趣的人，父母是在虎跳峡开著名的纳西雅阁客栈，女朋友是以前在虎跳峡客栈拣到的外地游客，然后家族业务拓展到丽江租了个小院落。沉默寡言但却很风趣，待人宽厚但疾恶如仇，没事就坐在院中沙发里跟游客聊天，时不时会掏出一些有趣的照片，或者告诉你一条新的线路，真有点象某某游戏里面客栈的提供游戏线索 NPC，哈哈。  既然到客栈已经一点多了，估计明天也是走不了的，索性跟这哥们一人一杯茶聊上了。春节从虎跳回来去梅里之前，就是住在他这儿，所以先给他灌输了一番梅里的大好形势，然后又听他侃了一通黎明和老君山，看来我的 todo list 又要加长了。   看看天色啥也没看出来，只好看看表已经不早了，于是约着明天找地方请他喝酒，然后洗洗睡一夜无梦。<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=16&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!3B002B2C3F5C8E36!438" class="bvMsg">
<div>  本来是不打算写游记的，一来自己比较懒而且号称比较忙，二来一直以为旅程是无法记述而只能体会的。但架不住诸多朋友的反复关心，只好把一些零散的感想记录一下，希望能让朋友们分享我的快乐 <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
<div>D -2</div>
<div>  直到再一次踏出丽江机场的大门，在寂静星空照耀和凉爽的夜风吹拂下，呼吸着掺杂着沁人心脾的淡淡草香的气息，才真正意识到我又回到这个梦中的地方。虽然此时还不知我的大包被转运到哪架飞机上，也不知未来几天的旅程该如何安排，但现在想什么也没用，当务之急是找个小酒馆吃点新鲜的菜肴，加上一瓶冰镇的本地啤酒。:P<br />  <br />  也许这就是我喜欢走长线的原因之一，从一个未知到另一个未知。<br />  <br />  虽然从一个多月以前就开始准备这趟行程，但我并无意去把每一个细节都安排清楚。毕竟长线中有太多的不确定因素，明确方向然后坚定的前行是我唯一可控的。而在此过程中碰到的问题和解决问题的过程，往往才是旅程中最有趣的谈资。<br />  就好比今天的旅程：早上还在公司翘着二郎腿开周年庆典大会，中午就匆匆忙忙打车去机场去赶堵车实况，好容易提前5分钟赶到换了登机牌后发现飞机晚点，百无聊赖在候机厅看完所有杂志后，到了丽江机场只好再一路狂奔，可还是晚了半分种才注册完毕，托运行礼却因为还没取到，只能跟着后面的航班转运，还免费获赠一张机场对我行礼不负责任的免责声明。于是我只好在饿着坐了一天飞机后，孤零零一个人躺在候机厅沙发上，等着还不知道在哪儿的行礼 :S 用当时某人给我回的短信的话来说，就是每一个精彩的旅程都有一个糟糕的开始，哈哈，我定义他在夸奖我 <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> <br />  <br />  也许是老天想多给我一个理由留在丽江，机场工作人员告诉我行礼要跟午夜最后一趟航班过来，于是我用最快的速度冲出机场，快步走向向往已久的最近的一个小酒馆，哈哈，一份火腿、一盆菜汤、一瓶啤酒、一碗米饭，完了再来上一壶龙井，开始有点找到度假的感觉了。 <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> <br />  <br />  因为准备转长途车去泸沽湖，决定住客运站附近的白马龙潭客栈，打电话跟老板套了套交情并订了床位，领到行礼后跟几个成都来的朋友拼车回丽江，顺道帮客栈老板拉了一票生意，忽悠了一车人直接开了过去。<br />  说起这个客栈老板也是个很有趣的人，父母是在虎跳峡开著名的纳西雅阁客栈，女朋友是以前在虎跳峡客栈拣到的外地游客，然后家族业务拓展到丽江租了个小院落。沉默寡言但却很风趣，待人宽厚但疾恶如仇，没事就坐在院中沙发里跟游客聊天，时不时会掏出一些有趣的照片，或者告诉你一条新的线路，真有点象某某游戏里面客栈的提供游戏线索 NPC，哈哈。<br />  既然到客栈已经一点多了，估计明天也是走不了的，索性跟这哥们一人一杯茶聊上了。春节从虎跳回来去梅里之前，就是住在他这儿，所以先给他灌输了一番梅里的大好形势，然后又听他侃了一通黎明和老君山，看来我的 todo list 又要加长了。</div>
<div>  看看天色啥也没看出来，只好看看表已经不早了，于是约着明天找地方请他喝酒，然后洗洗睡一夜无梦。</div>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/flierlu.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/flierlu.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/flierlu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/flierlu.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/flierlu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/flierlu.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/flierlu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/flierlu.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/flierlu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/flierlu.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/flierlu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/flierlu.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/flierlu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/flierlu.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/flierlu.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/flierlu.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=flierlu.wordpress.com&amp;blog=16135551&amp;post=16&amp;subd=flierlu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://flierlu.wordpress.com/2006/06/01/%e6%b3%b8%e6%b2%bd%e6%b9%96-%e2%80%94%e2%80%94-%e4%ba%9a%e4%b8%81-d-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ac55698affbb0ca3273cc02ecc6fd020?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">flierlu</media:title>
		</media:content>
	</item>
	</channel>
</rss>
