巴别塔上的雇工


丽江印象:第五天:拉市海
11月 30, 2006, 1:28 下午
Filed under: 山河好大

第五天去拉市海,拉市海是丽江附近的一个湖泊,当地人把湖称为“海”。

早上看阳光漏过云层撒在古城,颇为壮观,下定决心第二天要早期拍拍日出。

坐了不到半个小时的车就到了湖边,一忘无边的农田,现在似乎退耕还牧了,远近都是马。

又是骑马游山,不过这次走的山路比玉龙雪山好一些,而且马夫大叔也骑了一批马,所以行进速度很快。一路上是翻山越岭呐

跋山涉水啊

到了一处叫情人湖的景点,不知道为什么这里又叫做“湖”,可能一个小池子就称为“湖”。诶,水面上那个白色的东西是什么,原来不知道哪个扔的一个塑料瓶,sigh,太往水中间了,我也没办法捞出来。

林见突然开阔,原来是一处跑马场,据说这地方是天然形成,倒不是认为砍伐出来的。看天然形成的石头山、丛林和草地的分界线,还是感觉不错。

马夫大叔说,如果天气好,从这个角度看,远处两山之间矗立着玉龙雪山,相当美,可惜我又一次不走运了。

策马小跑

继续前进,在山上俯瞰拉市海。

回到湖边,到处是马,远处山上没有树木那一片是彝族人的山寨。 

山水相连,马鸟同栖。

本来马夫应该给我们撑船,但我逞了一把能,让马夫回去休息,我自个撑船游湖,所以下面的照片,就都是LP照的。

拉市海这时节号称有几十万只侯鸟栖息,但是可能湖泊太大,栖息得太分散,大多都是独来独往的鸟。

也有成群的,但是也就几十只在一起,我们靠近的时候就呼啦飞走了,本已为能在拉市海看到《人与自然》里面非洲湖泊中成千上万只鸟同时从水面起飞的壮观景象,这点规模显然效果差的远。

我看到了野生鹤耶!

天色晚了,回了哦。



丽江印象:第四天:休整-闲逛
11月 28, 2006, 1:27 下午
Filed under: 山河好大

已经跑了三天了,这一天决定休整,可以睡个懒觉,慢悠悠吃个早饭,然后翘起脚来欣赏一下古城远景,然后再闲逛。

今天万里无云,玉龙雪山终于可见全貌

赶紧和她合个影。

丽江的空气是很慵懒的,大街上狗狗猫猫自由行走,我一直觉得北京这样严管养狗,狗都要关起来,那狗不变态才怪了呢,像这样人狗猫同乐多好。

丽江纳西族妇女喜欢戴解放帽,据说这是因为以前她们什么苦力活都干,男人只管琴棋书画烟酒茶,解放之后她们终于算是解放了,但是现在仍然看到重体力活都是女人在做。

古城口的标志性大水车。

从古城里遥望雪山。

云南的天气真是说变就变。

黑云压城城欲摧。

一座孤城万仞山。

还好到晚上这雨也没下,在古城口我拍了一段video:丽江古城口



丽江印象:第三天:束河
11月 27, 2006, 3:06 下午
Filed under: 山河好大

经历了玉龙雪山的大雪,我领教了天气变化的威力,这一天天气不错,我们去一个近一点的地方,离丽江古城不远的束河古镇。

少数民族地区的旅游有这个现象,景点的门票很贵,但是在景点里居住的少数民族居民可以收一点点钱,就帮忙驱车把游客带进去,也许是因为少数民族政策的原因,官方对这种做法睁一只眼闭一只眼。我们就是这样花了20块钱进入束城的:)

在古镇口的广场上,有很多马夫招揽生意,坐车或者骑马逛古镇应该很有情调,但是我感觉走马观花泰国匆匆,何况昨天在玉龙雪山的山道上骑了五个小时的马,屁股还痛得很:)

在广场上可以遥望见玉龙雪山,虽然还是云雾缭绕。

严格说来,束河只是一个村落,现在之所以称得上镇,是因为周边建设了很多商业性的仿古建筑,所以束河几乎就是一个巨大的Shopping Mall,但是光看建筑,还是保留了很强的民族风格。

和丽江一样,这里弥漫着慵懒悠闲的气氛,和丽江的道路最大的区别是,有很多马车和马匹来往,在丽江古城里,除了特许车辆,是不容许有其他交通工具的。

真正算得上古迹的是镇后的老街,这里的房子不是后建的,但是商业性也比较浓厚。

小桥,流水,人家

就是这座客栈门前这样直立的枯木头,本来是用来做晾晒玉米棒子的架子,但是现在似乎这个作用已经退化,更大的作用是作为束河的标志。

这样的角度是不是更加显得像是图腾。

走到村后,有很多高大的水杉,抬头看,犹如坐井观天。

绝大多数游人不会走到这里,还好我不愿意做大多数,一直走出村子,爬上小山,俯瞰村落。

看到这样的景象,真想飞起来。

虽然束河只是一个小村落,但是我说过可以算是一个巨大的Shopping Mall,所以直到傍晚才离开,雪山还是在云层中若隐若现。



丽江印象:第二天:玉龙雪山
11月 26, 2006, 3:29 下午
Filed under: 山河好大

这一天去看玉龙雪山,天气似乎也还凑合,可惜我当时还没有意识到在云南天气变化的特点。

去看雪山可以选择骑马或者坐索道,我们选择骑马,觉得坐索道太没有挑战性了,这是一个正确还是错误的决定呢?

骑马上山的出发点,纳西族的保护神大鹏神鸟庇护下的山寨。

看苍茫大地

现在,即使在少数民族聚居区,想拍一点没有现代文明痕迹的景也很难,我跑来跑去想找个角度不要拍下电线和水泥砖墙,但是找不到:)

从半山腰往下看,冲积平原上星罗棋布着村镇农田,云的影子在上面滚动,不得不心生敬畏。

传说中的"茶马古道",山路让人走的确很艰苦,我们骑的滇马攀山能力的确很强,45度角的坡都能上去。

骑马上山的人自然形成了一个马队,我们出发的早,我在最前面,这种一马当先的感觉还是很不错的:)

走着走着就到了“殉情谷”,据说在古代,纳西人也包办婚姻,所以如果有一对情人要和这种陋习做抗争,就从这地方跳下来殉情。

但是,从这里看,跳下来也不一定能死哦:)

这里的古树都有不错的造型。

 

殉情谷边上的小营地,这里海拔已经有大约4000米,如果奔跑的话会感觉呼吸困难,大家都在这里休息一下再继续。

营地的看守养了好几只狗,有两只是随便走来走去的,还有三只是拴起来的,看起来相当凶猛,叫声像老虎。

继续往上,目的地是一个叫“牦牛坪”的地方,但是这时候下起雪来,看起来颇为壮观,从小家长老师就教育我们要知难而进,所以决定还是继续往上,何况高峰就在眼前。

往上走了几百米,上面有马队下来,说上不去了,上面都下冰雹了。

这时候雪已经很大,能见度很低,上不见山,下不见寨,枯树在风雪中如同从地里伸出的恶魔的爪子,颇为恐怖。

再继续走下去,就算看得见景观,我们自己也要变成景观了,撤吧,山道狭窄,前队变后队,打道回府。

一路往回走,大雪变成小雪,小雪又变成小雨,到最后雨也没有了,除了道路泥泞一点,似乎什么都没发生过一样,回到客栈,得知城里一滴雨都没有下,所谓的“十里不同天”就是这样了。



丽江印象:第一天:木府-白马龙潭-闲逛
11月 26, 2006, 2:08 下午
Filed under: 山河好大

上周休假去了趟丽江,拍了些东西。

飞机晚上到,除了机场,我就被感动了——我已经好几年没有看见满天繁星了!可惜我的相机夜间摄像功能很不怎么样,没法拍下满天星斗的景象。

当晚下榻的是古城一个叫“过街楼客栈”的地方,在纳西风格的房子里住有一个问题,那就是楼板是木头,如果住一楼就得忍受楼上的脚步声,如果住楼上就会制造脚步声,我既不想骚扰别人,也不想被骚扰,所以第一晚就决定还是找一个平房的客栈住吧。丽江的客栈从外面看都很漂亮,所以关键就看住的舒服不舒服了。

第二天清晨出发,原来客栈旁边的景观就叫“过街楼”,旅程就从这里开始了。

第一天,去看看木府,这个木府和金庸小说《鹿鼎记》中的“沐王府”没有什么关系,这个木府只是一座土司府,土司离称王还差得远呢。府前有书有"忠义"的牌坊,是明朝皇帝表彰木氏土司归顺中央政府而立的,顺我者昌啊!

 

木府建筑结构模仿北京故宫,无处不显示出土司想立个小朝廷,只是有心没胆,比如后花园叫"玉花园",到底没敢叫"御花园"。当年徐霞客说木府“宫室之丽,拟于王者”,据说江湖上有“北故宫,南木府”之说,但是我看这说法夸张得有点搞笑,无论从气势和规模上都不是一个数量级的。不过绿化上,木府是比故宫强一些,不过故宫本来绿化是不错的,现在没有古树的原因,是因为嘉庆年间...这里另外一个故事,不能说岔了:)

和故宫一样,这样宏大的建筑只是面子工程,吓唬吓唬臣民和来使用的,土司住宿的地方是相当狭小的。

从木府的后宫(也叫“家院”)的规模可以看出,纳西族古代也是一夫一妻制,因为家院实在太小,也只能放一个老婆:) 一夫一妻制有个好处就是女人地位比较高,第十九代木氏土司的老婆叫阿勒秋,能文能武,帮了老公不少忙,为了表示对她的纪念,纳西族把结婚了的女人叫“阿勒秋”。

木氏土司还是颇有人情味,丽江作为茶马古道重镇,道路四通八达,在修建后院“玉花园”的时候,需要跨越一条公共道路,土司不想干扰现有的交通线,就没有拆毁这条道路,而是用一座立交桥连接前庭和后院,这就是上面的“过街桥”。那个时候土司也知道要建立“和谐社会”了:) 下面是从过街桥上往外看早上我拍这座桥的地方

在木府高处看古城,远处云雾缭绕处就是玉龙雪山,但是今天运气不好,看不见她的尊容。

从木府出来, 吃了顿鸡肉火锅,这里的火锅吃法和北方不同,是一锅煮上,不是一点一点的涮。

地图上标明有一个景观叫“白马龙潭寺”,门口有丽江特有的“三眼井”,顺着水流的三个池子,第一个池子饮水,第二个池子洗菜,第三个池子洗衣服,这样既卫生,又充分利用水源,不过我有一个疑问,既然一座镇子里面有很多这样的三眼井,怎么保证水不是从上游的三眼井放出来的呢?

走进寺内,有一汪圆池子,但是非常破落,没什么人气。

 

沿着长了草的路往上走,有几间房子似乎还曾经修缮过,但是整体就是荒无人烟。看这间房子,左边的这幅壁画, 一个应该是什么神的物体骑着一只老虎,这只老虎又踩着一个裸女,似乎佛教中没有这样的故事,感觉倒有点像邪教。在寺里碰上一对散步的纳西族的老夫妇,他俩用不是很熟练的汉语普通话说,这地方以前还不错,后来大家都只想着赚钱,这地方就没有人来了,一个台湾老板本来想投资修一修,但是发现不赚钱,也就中途放弃了。我想没有游客来丽江会是为了烧香拜佛,寺庙没落也是情理之中。

 

然后就在古城里闲逛,很幸运在第一天参观了木府和白马龙潭,参观幕府是一个很好的Introduction,导游会介绍很多丽江的基本知识;参观白马龙潭可以看到丽江也有衰败的一面。

纳西族传统建筑,木材起支架作用,所以防火很重要,但是古城的道路又很狭窄,所以我们看到消防车也是小型的。

 

在古城街道上看天空

 

夜幕来领,在主要的繁华街道上,大红灯笼高高挂。

 

图片太多,如果把这几天的事情都放在一个Post里面,估计看起来比较费尽,还是分开一天一天的说吧。



如果我们拥有无限的运算和存储能力…
11月 17, 2006, 1:26 下午
Filed under: Uncategorized

摩尔定律算是注定要终结了,但是假设我们生活在一个魔幻世界中,拥有无限快速的CPU,拥有无限巨大的RAM,我们还用得着研究算法吗?我们还要不要费尽心思把复杂度从O(n^2)提高到O(n*log(n))再到O(n)?

似乎是不需要再研究算法了,反正资源无限,就是用穷举法,也能够搞定,当然穷举也算是一种算法,只不过似乎我们不用做更多更深的算法研究。我一直也就这么认为,但是最近看了点机器学习的东西,发现还真不是这样。普通的问题,都是人脑知道该如何解决,然后编程序让机器一步一步按照人脑的想法去解决,不管这个问题如何复杂,都只是人脑活动的精确再现,如果机器拥有无限的capacity,这样的问题真的似乎不用再提高什么效率了。但是,有的问题人脑也不知道怎么精确定义解决过程,比如判断一张图片是不是色情图片,该怎么教会机器去判断呢?稍微有点理智的成年人都能够做出精确度很高的判断,但是如何去编程序模拟人脑的这个过程呢?人类对人脑的认识还没有达到这个程度哦。对这类问题,目前似乎只能用机器学习的方法去解决,也就是提供一些training data,我们人类讲不清楚,让机器自己通过这些training data去学习去。这里有一个问题,机器学习的结果必须有一点通用性(Generalization),也就是训练好的机器出去别只认识训练样本,不认识真实世界中的东西了。机器是个笨家伙,比如我给它看一万张树的图片看,它也许能全部记忆下来,而且能够高速的检索,但是看到第一万零一棵树,如果没有良好的学习模型,它会说这不是一棵树,因为我的一万张树德database里面没有叶子数量是这么多而且树皮这么多疤的物体,可见要达到机器学习的精确性,不能单单靠运算和存储能力,机器的capacity太高了可能适得其反,当然太低的话,机器会把一个邮筒当作一棵树,因为邮筒是绿色的:)机器就是这样,和rainman一样,计算和记忆力超强,但是rainman傻傻的判断力还不如一个常人。

那么我把需要识别的东西,全部收集起来,让机器来记忆和查找,这样如何?对有的问题可以这样,但是实际问题往往样本空间是无限的,比如要弄一个网页内容是否色情的机器判断,绝不可能把全世界的网页都收集下来训练电脑,因为训练样本还是要人脑先来label,确定是色情还是非色情,然后喂给电脑,现在全世界URL数以十亿计,怎么可能去用人力label?所以只能选取有限的有代表性的样本,用算法抽取出样本特征,然后……

即使我们拥有了无穷的的运算和存储能力,在这一点上,算法研究还是少不了的。



明天的软件开发浪潮?
11月 16, 2006, 3:34 下午
Filed under: 技术体会
前几天就看到The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software,大概意思我也懂,不就是说以后都要靠并行运算来提高应用程序的处理速度嘛,瞟了一眼就关了。今天看到孟岩专门就此问题写了很长的一段,仔细看了一下,我被震撼了,再仔细拜读了一下The Free Lunch Is Over和MapReduce,不得不服,大人物看的就是比我们远,而且,似乎google又一次先走了一大步。

明天的软件开发趋势,必然是并行运算……不过对我,明天要做的事情,是还有一个bug-fix要check in:)



Battle Against Memory Leak
11月 16, 2006, 2:12 下午
Filed under: 技术体会
这两天fix了一个关于memory leak的bug,中间颇多曲折,走了不少弯路,这里就长话短说,只说有用的。

一开始这个ASP.NET Web Service总是会神奇的crash,而且很难复现这个问题,最后在压力测试的时候就频繁出现,而且从Performance Counter里面可以看见运行这个web service的w3wp进程内存在频繁请求下一直增长,这样基本可以断定是有Memory Leak了。

首先需要知道哪里溢出了,这个Web Service是.Net代码,有垃圾回收机制撑腰,按道理不大可能出现内存问题,但是这个Service会利用.Net的Interop机制调用Native Code,Native Code分配的内存GC是控制不了的,所以自然怀疑是Native Code有问题。为了证实这一点,用Windows的Performance Counter监视压力测试下的IIS w3wp进程,关心的Counter有:private bytes, virtual bytes 和.NET CLR Memory bytes in All Heap,可以看到privates bytes和virtual bytes一直增长,而CLR控制的bytes in All Heap有升有降稳定在一定范围内,这就可以断定肯定是Native Code存在内存泄漏。

现在把注意力集中到Native Code上,在Unix环境下,可以用一个叫Valgrind的Free软件轻松发现Memory Leak,但是在Windows环境下比较像样的内存溢出检察软件都要收钱的,还好MSVCRT的Debug版自带了内存检测的机制,虽然不是图形化那样易用,但是也相当有效果。

要做的就是使用Debug版的MSVCRT,Build时加上_DEBUG的宏定义,这样,CRT的malloc/realloc/calloc/free函数行为会有所变化,调用malloc实际调用的时_malloc_dbg,这个函数会在分配的内存块中放置一些debug用得上得信息。对code稍做修改,在native code得入口用_CrtMemCheckpoint做一个记号,在出口用_CrtMemDumpAllObjectsSince看看这期间新分配了哪些内存块,可以看到这些内存块的信息(这篇文章详细介绍了Debug Heap),由此可以推导出内存泄漏的情况。



Live Search 3D
11月 14, 2006, 12:59 上午
Filed under: 工作心情

现在Live Map Search提供了3D功能,着实很酷,虽然又一次是步Google后尘,但是效果不比Google Earth差。

值得一提的是,在提供了3D视图的城市中,可以看见这样的巨幅标牌

在3D地图中地标性建筑上打广告,以后MS就指这个财源滚滚了:)



香港版无间道 vs 美国版无间道
11月 12, 2006, 6:14 上午
Filed under: 电影电视
我第一次看无间道第一集,感觉不是特别好,最近看了好莱坞翻拍版《The Departed》,一对比,才觉得当年香港拍的还真不错。

就无间道而言,香港版只是一个单纯的警匪片,但是好莱坞版非要加入政治因素,第一个黑道交易被改成贩卖CPU给中国制造导弹,台词中用了一个对华人的蔑称,而且暗示制造导弹的目的是“核平台湾”,这个修改和整个情节没有任何关系,莫名其妙,只能说是政治心理在作怪。

好莱坞版保留了一些经典段子,比如傻强说的“在做事又心不在焉的人就是警察”,黄秋生从楼上被扔下来,但是只是学局部,没有学整体,人物之间得悻悻相惜更本没有表现,所以美国版“傻强”死的时候台词是问美国版“梁朝伟”: 给错了你地址你丫怎么还能去对地方呢?美国版“黄秋生”摔死之后,美国版“梁朝伟”(迪卡普力奥演的)给人的感觉不是死了一个好朋友很心痛,而是想表达,这哥们死了我咋交代?让美国佬表达“义气”,恐怕还真不会:)

香港版得动作非常干净,这点美国佬是永远赶不上。最后天台上两个卧底会面那一段戏,梁朝伟干净利落地解除刘德华地武装,双方只是言语较量,梁在电梯里被打死后留下的是异常清澈的眼神;再看美国佬把这段糟蹋成什么样了,“刘德华”(马特.戴蒙演的,他变丑了)上天台,一个镜头里面可以看见躲在门后的“梁朝伟”(迪卡普力奥,他还是比较帅)如惊弓之鸟埋伏着,然后冲上来将“刘”一顿暴打,打得鼻血直流再铐起来,然后是一通粗口对骂,电梯里面得枪击戏很舍得用血浆,“梁”中枪之后脑浆崩裂溅了一墙血,所以无从让迪卡普力奥演一把清澈眼神了。

据说因为美国观众普遍不愿意看字幕和听翻译,所以好莱坞对海外优秀电影,只要原声不是英语,都要费心翻拍一下,谣言几部日本恐怖片翻得还不错,但是我想绝
大部分翻牌都是取其糟粕去其精华,搞得不伦不类神韵全无,好莱坞翻拍肯定要加入美国的价值观念和审美观点,肯定会和不同文化背景的原作发生冲突。