Saturday, January 31, 2009

hammer and nail

锤子和钉子

By 刘未鹏(pongba)

(一)

有这么一句古老的箴言:

如果你手里有一把锤子,所有东西看上去都像钉子。

其实这句话已经是老调中的老调重弹了,我们程序员有很多锤子:OO、设计模式、语言(C, C++, Java, Python, Ruby, etc.)、各种各样的架构tricks&workarounds,以及一堆软件过程方法论(Agile, XP, Scrum, etc.)、等等。

几则故事:

1. 阿朱的(《走出软件作坊》):

我过去领导过架构组。架构组的人在2002年的时候,疯狂迷上了UML和设计模式,人手一本《COM本质论》和《设计模式》。我手下有一个新手,就处处是类,处处是抽象,处处是封装,处处是分离,尽量使代码高内聚低耦合。但是这样的的代码太麻烦,他花费了大量的时间,他看自己的代码赏心悦目,别人看他的代码云里雾里,不阅读懂《设计模式》就按照常规理解业务的思路去阅读他的代码根本阅读不懂,不知道他为什么这样写代码,怪异的很。本来,这位想达到可维护性,可阅读性,却真正的失去了可维护性、可阅读性。这和我前几天看我的朋友周爱民写的《大道至简》中写到:有人希望拿UML去统一用户和软件设计者。殊不知UML有多难理解,而UML设计者却认为UML可以描述一切。就这个道理,要理解你的代码还要去读懂《设计模式》,这要求太高了吧。

所幸这位新手自己都每次写的累,慢慢的也就懒了,觉得确实需要分离的时候就分离,觉得没什么必要的就懒得做了。用他自嘲的话说就是:被磨平了。其实,依我看,他现在这个代码状态才是刚刚好,即照顾了设计扩展,又照顾了实用。真正的纯OO,纯设计模式,可能只存在于教学和科学,而不在于我们的商业软件开发。我们作为商业开发,强调的是叫座的基础上叫好,所以折中方案是必须的,客户和我们自己两相宜就OK,是否符合正宗,就不在我们的商业开发管理范畴了。

这位新手还写了大量的注释。在每个源代码文件头都写上几月几号,XX创建的,这个原代码文件主要是干什么的,还画蛇添足的写上版权所有,公司名称。好像这个代码要开源,或者可能会被其他公司窃取了好表明公司版权。甚至每个函数都写了注释,每个参数是什么意思,每个参数可能出现的值代表什么意思,都写的一清二楚。久而久之,也懒的维护了。代码改动了,参数扩展了,参数状态值有了变化,注释说明却没有跟着改动,让后来看代码的人老误解,还不如不写这些注释。

我告诉他:做事不能走极端。要么全写注释,要么不写注释,都是不对的。我只在我认为要小心的地方,或者我自己都觉得很难理解懂的地方我才写注释。否则,我自己都可能会过段时间理解错了。如果某段代码我看看就能看懂,我就不写注释了。咱们做企业管理软件,深入技术又没有,只要代码能把复杂的业务处理描述的逻辑思路清晰就OK。虽然说理解能力不同,我能快速理解了的未必有新手能够理解,但是你看看我的代码你就明白了。(摘自 《走出软件作坊:代码那些事儿》)

再来一段:

有一部分所谓的架构师,技术超深厚,框架堪比Spring之类,但自己一个人闷头写框架不断优化,力竭使用最先进的技术思想,希望把最豪华的设计模式融进去,希望把OSGi融进去,希望把AOP融进去,全无视那些想利用框架减轻自己工作量提高自己工作效率的应用功能开发同事。这是在用公司工资玩技术呢,还是在满足个人技术幻想呢,还是在实验呢?到底在干吗?价值在哪里?

还有的人不会推广自己的框架。不善言辞,就幻想着技术总监能够通过行政命令让大家必须用框架,能不自己写代码就不自己写代码,能交给框架做的就交给框架做。但技术总监号召完了,大家仍然我行我素,各自开发为政,让框架开发者很孤单。

还有的人也不会推广自己的框架,沉迷在自己的理想世界。好不容易技术总监召集大家让大家来听听框架如何应用,但自说自话,满口自己最得意的词汇,听得业务功能开发人云山雾罩。大家问些问题,如这样的业务开发难题,框架怎么解决?于是,框架开发员就和业务开发员争论了起来。框架开发员觉得这根本就不能答应客户这种变态的需求,而业务开发员说这就是现状。框架开发员说你可以这样这样,业务开发员说这样太麻烦,框架开发员立刻还口这还麻烦?于是双方各执一词,框架也没推广成功。

我手底下有个框架开发员。他的技术渴望很强烈,为了技术难题攻克,可以不吃不睡。并且技术敏感度很强,学习也快。所以当时我感觉他是个程序员的料,就把他拉到我的手下。

但是有个问题,他写出的框架代码,在平时开发业务功能的时候挺麻烦。大家可能需要的是一把铁锹,但是他却给大家N根不同长度不同粗细不同材质的木棍,N个不同形状不同用途的铁锹头。大家会有N种组合。不仅导致他写代码老超任务期,而且也让使用人感觉没多大帮助。使用起来复杂,而且还得配置这个配置哪个,需要注意的地方太多。业务开发组的同事就不愿意用,还不如把代码自己直接写死了得了。超期还会影响业务功能开发组的使用。本来人家是为了想加快自己的工作效率。你答应好这个星期给业务开发组提供一个功能,但你没有拿出来。就耽误人家进度。你多次拿不出来,人家业务开发组还不如自己开发一个呢,求人不如求己。

我最后警告他:如果你认为自己技术够牛,那么你必须证明你能很快做出来。如果你认为自己技术够牛,最好能牛到,只提供一个函数就解决了他们的问题。别这个代理类,那个聚合类,这个唯一实例类。最好连参数也没有,大家调用一下写一句代码就OK。甚至你做的好,大家都不用调用你的代码,你可以包含在基础框架中,你自己去判断什么时候什么应用需要执行这个动作。如果你认为自己技术够牛,那么在业务功能需求发生变化的时候,你能够保证接口不变的情况下还能适合变化,这才你够牛。别让业务开发组的人跟着你也得改他们自己的代码,那样的设计就很烂了。

小伙听了我的话。进度保证,代码接口简洁。(摘自《走出软件作坊:走钢索的人》)

2. 坊间流传的大家耳熟能详的小故事:

话说联合利华新换了一批自动香皂包装机以后,经常出现香皂盒子是空的没有香皂的情况,而在装配线一头用人工检查因为效率问题不太可能而且不保险。这不,一个由自动化,机械,机电一体化等专业的博士组成的Solution队伍来解决这个问题,没多久他们在装配线的头上开发了全自动的X光透射检查线,透射检查所有的装配线尽头等待装箱的香皂盒,如果有空的就用机械臂取走。

不巧,中国一乡镇企业生产香皂也遇到类似问题,老板吩咐线上小工务必想出对策决之,小工拿了一个电风扇放在装配线的头上,对着最后的成品吹之,空盒子被吹走,问题解决之。(摘自 TopLanguage 上的讨论。)

因此,

* 心中有锤,就容易为其奴役:在遇到问题的时候不是具体问题具体分析,而是屁股决定脑袋,不管三七二十一先上黄金大锤再说,而且往往还颇有成就感,却将自己真正原本要解决的问题抛在脑后了。始终莫要忘记提醒自己,“问题是什么?”
* 但毫无疑问,没有锤子是万万不行的,没有谁会傻到徒手钉钉。重点是选择合适你的工具。这又要求在学习工具的时候始终别忘记它的适用范围。

正确的态度应该是:

手中有锤,心中无锤。

容我具体解释一下这句话:任何工具都有其适用范畴和前提。然而,我们在学习工具的时候由于投入很多的时间,往往在情绪上面对工具产生了太强的感情,我们既投入了时间,当然内心希望能够用上这些工具,所以就容易忘掉其适用前提,欣欣然地不管三七二十一就把黄金大锤亮出来,以显示自己的厉害。但如果我们换一个态度,仅仅将它看作我们工具箱中的又一件工具,就可以客观地评估它,视具体情况而使用了——始终别忘记自己要解决的问题是什么。Why 永远在 How 之前。



(二)

与上面对应的还有另一句话(实际上这是我杜撰的:D):

如果你想钉一个钉子,所有东西看上去都像是锤子。

用大白话来说就是:如果你心中专注于你想要解决的问题,那么你所看到的东西就会呈现出以往你没有看到的一面。

例子:

1. 阿基米德洗了一辈子的澡,然而,只有那一次,当他想要解决皇冠密度问题的时候,想到可以利用排水体积来测量不规则物体体积。

2. 如果你也喜欢看 《Monk》 ,就会体会到把问题装在心中,甚至把自己变成问题,问题即自己的作用——当 Monk 的潜意识里面始终在寻思 How, Why, Who did it 这几个问题时,周遭环境中的一切信息都会显出另一番面目,一个平常情况下根本不会注意到的细节也能成为破案的关键,看似不相干的信息也能带来出乎意料的启发。

3. BentObjects

如果你也像我一样,习惯于经常把疑问装在大脑中酝酿好几天,你肯定会有 eureka 的体验。

或者,如果你喜欢在一段时间之内关注某个主题,你在阅读书籍资料的时候就会带着问题的眼镜,看到平常看不到的东西,作出与平常不一样的思考。

把自己变成钉子,这就是 eureka 的奥秘。

why same devotion, different results

为什么大家都努力,最终却有更多的人不成功?
Author: 李笑来


我常常看到听到很多老师常常私下抱怨他们的学生太懒了,懒到不可救药。有一天我也竟然成了老师,也在相当长一段时间里极为厌恶,甚至憎恨“懒惰”的学生。那时,我说以下这段话的时候,自以为是“理直气壮”的:

学习手段的技术改良并没有使学习难度减少多少。今天我们不再怕查字典了 --- 因为电子字典太方便了;可是害怕背单词的人的数量仍在增加 --- 因为懒惰没有技术上的解决办法。

然而,随着教龄的增加,接触的学生越来越多(多到难以对其本质视而不见的地步),我的看法不得不因此发生了很多的变化。根源在于最终有个事实是不能忽略的:大多数人既然是人就继承了作为生物而应该天生拥有的进化本能和进化能力。长久的观察使我得出一个结论,大多数学生实际上是勤奋的,他们并不懒惰,他们只是花费了很多时间精力却没有收获而已。过分简单地把最终的收获归结于“勤奋”,而把颗粒无收归结于“懒惰”,只不过是于事无补的空洞评论而已,不为解决问题提供任何线索。

个中的道理并不是很容易说清楚,但最终我还是能够尽量给学生一些相对实用一点的建议。我觉得可以从四个方面回答这个问题:“为什大家都努力,却更多的人并不成功?”

1) 不知道该干什么

有一次我走在路上偶尔听到两个路人之对话,堪称经典:

甲:嗯……今年我一定要干点儿什么!
乙:嗯,是得干点儿什么了!再不干点儿什么就不行了……可是干点儿什么呢?
甲:嗯……反正得干点儿什么!…

其实,很多人都是这样的。要是清楚地知道自己能做什么,该做什么,如何去做,很难想象有谁能够固执到“我都知道,但我就是不做;不是为了气死你,而是为了干死我自己!”的地步。

令人哭笑不得的是,人们往往拒绝做一些实际上有意义的事情,是基于“实用主义”。实际上,学习永远是无本万利、稳赚不赔的活动(也许有人不同意,这事儿实在难以争论)。很多人习惯于在行动之前一定要问一个“做这事情有什么用?”尽管这本身通常是没有错的,但是,在学习的时候问这个问题就很可能是不明智的了。最终有成就的人有一个共性,就是他们永远保持旺盛的“好奇心”,对学习“永不厌倦”,在求知的路上一向懒得问“学它有什么用?”另外,请点击这个链接,读读其中的文字,也许也会让读者有另外一番思考。多读书,多思考,多学习,从来都不是坏事儿,为什么一定要亲自体会“书到用时方很少”呢?

2) 以为知道该干什么,结果做错了

浪费时间的最有效方法并非无所事事,而是“真诚地做错事”。我总觉得人在做错事情的时候很少是故意而为,一个人做错事和一个人丢钱包一样,1) 他们都要最终都要独自承担损失;2) 最终的损失都并非他们当初所愿。但是人们总是好像“身不由己”似的做错事情,甚至一错再错;无论最终多么懊悔愧疚,再遇到同样的境况却又重蹈覆辙。为什么会这样呢?说严重一点,是因为这样的人由衷地“不相信自然规律”。对个人成长来说,最重要的自然规律是什么呢?我常常劝诫我的学生,千万不要怀疑一个原则:“一切都靠积累。”为什么明明应该通过阅读扩充词汇量,但偏偏更多的人一定要背单词数而若干年后一无所获呢?为什么减肥的方法明明只有一个就是锻炼,但是偏偏更多的人选择节食或者各种各样的减肥药或者偏方最终几年之后越来越胖呢?因为某种意义上他们是“反自然”的,不相信、不尊重基本的自然规律。自然规律惩罚那些违背它的人的方式既宽厚又残忍,需要智慧才能理解:它会让那些违背它的人“绝不后悔”——无怨无悔地走向毁灭。

在选择该做什么的时候,一个屡试不爽的判断依据是,慎选“容易的”,别怕“困难的”。这世界就是这样:会咬人的狗不会乱叫,乱叫的狗其实胆子很小;经常来敲门的往往不是机会,而是和你差不多境遇的邻居;没有哪一个陷阱一眼就能被认出来,否则那就是个愚蠢的陷阱;也许正因如此睿智的人也常说:通往地狱之路总是铺满了鲜花……当脑子里闪出“更快”或者“更容易”之需求的时候,并不见得那就一定是错的,但是用“一切都靠积累”这个原则重新衡量一下肯定是没有任何害处的。并且如此衡量一番往往并不耗费太多力气,然而却往往会因此受益无穷。所谓“聪明总被聪明误”指的大概也是这种情况。

3) 做对了,但努力不够

在那些走在正确的路上的人群之中,也分走得快的和走得慢的。一个人的努力程度往往与他的心态有着很大的关系。我常常告诉我的学生“You are what you think you are”。比如,在任何一个企业中,都有一小部打工的人与另外大部分打工的人不一样:少数人即便是在打工也是“为自己打工”,而大多数人是真的在“给别人打工”。那些认为自己是在“给别人打工”的人,往往不自觉地给自己设置了一个“努力”的上限——他们认为他们付出的时间精力应该与他们拿到手里的薪水相符,薪水多了就是赚了(可能性并不大),薪水少了就是亏了(往往真的如此)。

姑且不论他们这样想对还是不对,或者有没有什么例外,让我们看看那些“为自己打工”的人所面临的境遇是多么地不同?那些“为自己打工”的人,往往没有对自己的努力设定上限,他们总是能做多少就做多少——这很可能并不是因为他们“不计得失”,而更合理的解释是:这样的人往往会因工作“超常努力”而相对有更多的工作成绩,因此他们往往更有机会获得比别人更高的报酬,除了报酬之外,他们还往往可以有其它人无法想象的其它收获:更多的机会,更多的尊重,更多的积累,更多的经验,等等等等。学习的时候也如此。真的有很多人不是”为了自己学习”,就好像李宗盛的歌里唱的那样“究竟是为了自己的理想还是为了不让别人失望?”为了自己而学,就不要再问“我已经很努力了,怎么还不行?”其实,除了少数必须天赋才能获得技能之外,大多数技能的学习,只需要足够的努力就肯定能够习得。再多努力一点,没有上限。

4) 非常努力但努力得不够久

已经做对事情的人,某种意义上与已经选中了一支必然大涨的股票的人一样幸运。不过,在股票市场上,很多人有选中的好运,却往往因过早卖出而没有“足够的好运” 赚到只需要通过再等待一段时间就可以收获的“暴利”(牛市中大多数人过早卖出;反过来,熊市中大多数人过早买入,也是同样的道理)。学习与股票操盘不一样的地方在于,学习不能只靠把握时机而后耐心等待,学习要靠挣扎、努力、坚持。学习不仅要很努力,往往还要努力很久。需要多久呢?Hayes与Bloom的研究表明,在许多领域,都需要大约10年时间才能培养出专业技能。我很喜欢的一篇文章是《Teach Yourself Programming in Ten Years》,推荐给所有有心学习的人看(不只是学编程的人而已)。Peter Norvig在这篇文章中引用Samuel Johnson(译注:英国诗人)的话,认为就算10年也不一定够用:“任何领域的卓越成就都只能通过一生的努力来获得;稍低一点的代价也换不来。 ”(Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.)为什么要那么久呢?答案是,因为有些阶段就是无法跨越。

Saturday, January 10, 2009

use google smart

by 李笑来老师
http://www.xiaolai.net/index.php/archives/992.html

学会用GOOGLE做research
Posted: September 28th, 2008 | Author: 李笑来


上一篇提到“没有输入就没有输出”。过去我们的主要信息来源之一是图书馆。今天互联网已经后来者居上,成为比图书馆更为重要的信息来源之一。互联网的信息被称为“海量”,所以“搜索引擎”就成了最被依赖的工具。

Google是我们这个时代最伟大的产品之一。有了Google,本质上谁都有能力做“research”(研究)——“research”在今天已经不再像许多年前那样是少数“精英”的专利了。我常常告诉我的学生,“research”其实一点都不神秘;所谓的“research”其实只不过是“search, search, and... REsearch!”在中文里,“research”除了“研究”之外还可以用另外一个说法来翻译——“做学问”。中文的“学问”这个词拆开来是两个字“学”和“问”。做学问的人一样要学,一样要问,只不过他们比别人把“学”和“问”重复更多遍而已。

Google是个可以用来research(做学问)的工具,而国内的百度相对来讲,在这方面差了不是一点半点。相对来看Google还是更讲原则的一个产品。Google的搜索结果就是搜索结果,赞助商链接摆在旁边;而百度却为了赚钱把赞助商链接与搜索结果混在一起,并且更进一步,百度把赞助商链接放在搜索结果之前。前阵子媒体就有过报道,有一位中年人为了治疗癌症上百度搜索,找了家医院,最后病情并未得到控制,钱倒是多花了许多。百度的这种做法,直接导致人们无法分辨搜索结果与广告之间的区别,最终导致错误的判断。“如果提供假药信息,搜索引擎就是助纣为虐,谋财害命!”——国家食品药品监督管理局新闻发言人颜江瑛说(网易新闻2008年9月18日)。

Google的界面非常简洁,很多人对此相当地推崇。但过分简洁副作用就是很多人也因此“过分简单化地使用Google”。然而,想做学问的人,花几分钟学学Google的语法是相当值得的;这几分钟里学到的东西用“终生受用”修饰都不过份。

在Google的输入框里,所有的空格都被Google理解为加号(+)。如果你输入的是【purpose of education】(本文中,【……】中的文字与符号就是指你在Google的输入框里输入的文字与符号),那么Google返回的文章里既有“purpose”存在,也有“education”存在,但不一定有“purpose of education”存在。另外,过分常用的、单独存在没有意义的词汇往往被忽略掉,比如冠词“a”、“the”;介词“of”、“in”、“on”、 “at”、“to”;连词“and”、“or”、“but”;从属连词“that”、“which”、“when”;代词“my”、“his”、 “them”……等等。

如果你想要找含有“purpose of education”这个词组的文章,那么你必须输入【“purpose of education”】。现在的Google已经可以处理utf-8大字符集了,所以,即便你在输入的时候即便使用的是全角字符(不是半角字符的【"】而是【“】或者【”】)Google也照样能够正确处理。比较一下两种输入返回的结果:【purpose of education】vs.【“purpose of education”】。再试试【the most important benefit of education】和【“the most important benefit of education”】。这就是引号(“……”)的作用——返回“完整匹配”的结果。

为了进一步筛选搜索结果,还需要学会另外一个符号——减号(-)。比如,【"the most imporant benefit of education" - "united states"】要求Google返回含有“the most important benefit of education”但不存在“united states”的文章。

另外一个威力无穷的符号是型号(*)。Google支持通配符搜索,即搜索字符串中可以包含星号(*),用来替代任意字符串。比如,【“the most * examples of censorship”】将会返回含有类似“the most outrageous examples of censorship”、“the most brazen examples of censorship”、“the most heinous examples of censorship”、“the most stupidest examples of censorship”、“the most dangerous examples of censorship”、“the most egregious examples of censorship”、“the most prolific examples of censorship”、“the most absurd examples of censorship”……

在网上找例子的时候星号非常有用。比如,想找历史上“最怎么样的”老师的话可以搜索【“most * teachers in history such as”】,或者,想知道国外常见的软饮料品牌的话就搜索【“* soft drinks such as”】。星号还可以把Google当作搭配辞典使用,比如,想知道proof这个单词之前可以使用的量词都有哪些的话,可以搜索【“a * of proofs”】,返回的结果会让你知道,起码有这么几个:“a set of proofs”,“a variety of proofs”,“a number of proofs”,“a series of proofs”……

还有一个运用相当灵活、经常带来意外收获的符号是波浪号(~)。把波浪号(~)加在某个单词前面,是在告诉Google:除了给出的关键字之外,还要搜索与波浪号(~)后面的那个单词相关的词汇。比如,搜索【the importance of ~censorship】的结果中包含着“the importance of censorship”,也包含着与censorship相关的另外一个词汇“propaganda”——“the importance of propaganda”。

再学一个在指定网站中搜索的语法“site:”。比如,【“the purpose of education” site:http://www.time.com/】就是要求Google只返回http://www.time.com这个网站里的含有“the purpose of education”的文章。

2006年,Google推出了“co-op”服务(自定义搜索引擎)。其中最常用的功能之一就是可以指定Google搜索一个或者若干个指定的网站——相当于前面提到的Google语法“site:”的扩展。比如,我就为我的学生定制了一个Google cse(customized search engine)——“Search News Media”(在我的网站的导航栏上,有一个“自定义搜索引擎”,点进去也会看到这个cse)。不妨看看在这个自定义搜索引擎上搜索【censorship】返回的结果(GRE/SAT的作文考试中,都有很多关于“censorship”的作文题)。这个cse只搜索以下10个网站:

* http://www.economist.com/
* http://www.cnn.com/
* http://www.time.com/
* http://nytimes.com/
* http://www.washingtonpost.com/
* http://www.usnews.com/
* http://usatoday.com/
* http://www.reuters.com/
* http://www.bbc.co.uk/
* http://en.wikinews.org/

我还给学生定制过一个专门搜索百科类网站的cse:“Encyclopedia Search”。这个cse只搜索以下7个网站:

* http://en.wikipedia.org/
* http://encarta.msn.com/
* http://knol.google.com/
* http://www.thecanadianencyclopedia.com/
* http://en.citizendium.org/
* http://www.bartleby.com/65/
* http://www.eb.com/

如果你是Google的注册用户(现在几乎人人都用gmail),那么你也可以定制类似的cse,并且可以与其他人分享。关于更复杂的应用,只能查看Google CSE的帮助文档了。
另,过去我转过一篇“十大高明的Google搜索技巧”,非常实用。

stonewang留言推荐的文章也很好“Google搜索从入门到精通”。

Thursday, January 8, 2009

4 parts of development

Code: soso -> satisfied
Research: kinda ok -> good +
Social: good -> excellent -
Sci Writing: ok -> very good

Wednesday, January 7, 2009

500 smiles for 1 chance

前生五百次的微笑 換得今生的一次相逢

pchy taiwan 論壇文章

有個年輕美麗的女孩,出身豪門,家產豐厚,又多才多藝,日子過得很好。
媒婆也快把她家的門檻給踩爛了,但她一直不想結婚,因為她覺得還沒見到她真正想要嫁的那個男孩。
直到有一天,她去一個廟會散心,於萬千擁擠的人群中,看見了一個年輕的男人,不用多說什麼,反正女孩覺得那個男人就是她苦苦等待的結果了。
可惜,廟會太擠了,
她無法走到那個男人的身邊,就這樣眼睜睜的看著那個男人消失在人群中。
後來的兩年裡,女孩四處去尋找那個男人,但這人就像蒸發了一樣,無影無蹤。
女孩每天都向佛祖祈禱,希望能再見到那個男人。
她的誠心打動了佛祖,佛祖顯靈了。
佛祖說:「你想再看到那個男人嗎?」
女孩說:「是的!我只想再看他一眼!」
佛祖:「你要放棄你現在的一切,包括愛你的家人和幸福的生活。」
女孩:「我能放棄!」
佛祖:「你還必須修煉五百年道行,才能見他一面。你不後悔麼?」
女孩:「我不後悔!」
女孩變成了一塊大石頭,躺在荒郊野外,四百多年的風吹日曬,苦不堪言,但女孩都覺得沒什麼,難受的是這四百多年都沒看到一個人,看不見一點點希望,這讓她都快崩潰了。
最後一年,一個採石隊來了,看中了她的巨大,把她鑿成一塊巨大的條石,運進了城裡,他們正在建一座石橋,於是,女孩變成了石橋的護欄。
就在石橋建成的第一天,女孩就看見了,那個她等了五百年的男人!
他行色匆匆,像有什麼急事,很快地從石橋的正中走過了,當然,他不會發覺有一塊石頭正目不轉睛地望著他。
男人又一次消失了,再次出現的是佛祖。
佛祖:「你滿意了嗎?」
女孩:「不!為什麼?為什麼我只是橋的護欄?如果我被鋪在橋的正中,我就能碰到他了,我就能摸他一下!」
佛祖:「你想摸他一下?那你還得修煉五百年!」
女孩:「我願意!」
佛祖:「你吃了這麼多苦,不後悔?」
女孩:「不後悔!」
女孩變成了一棵大樹,立在一條人來人往的官道上,這裡每天都有很多人經過,女孩每天都在近處觀望,但這更難受,因為無數次滿懷希望的看見一個人走來,又無數次希望破滅。
不是有前五百年的修煉,相信女孩早就崩潰了!
日子一天天的過去,女孩的心逐漸平靜了,她知道,不到最後一天,他是不會出現的。
又是一個五百年啊!最後一天,女孩知道他會來了,但她的心中竟然不再激動。
來了!他來了!他還是穿著他最喜歡的白色長衫,臉還是那麼俊美,女孩癡癡地望著他。
這一次,他沒有急匆匆的走過,因為,天太熱了。
他注意到路邊有一棵大樹,那濃密的樹蔭很誘人,休息一下吧,他這樣想。
他走到大樹腳下,靠著樹根,微微的閉上了雙眼,他睡著了。
女孩摸到他了!他就靠在她的身邊!
但是,她無法告訴他,這千年的相思。她只有盡力把樹蔭聚集起來,為他擋住毒辣的陽光。
千年的柔情啊!
男人只是小睡了一刻,因為他還有事要辦,他站起身來,拍拍長衫上的灰塵,在動身的前一刻,他抬頭看了看這棵大樹,又微微地撫摸了一下樹幹,大概是為了感謝大樹為他帶來清涼吧。
然後,他頭也不回地走了!就在他消失在她的視線的那一刻,佛祖又出現了。
佛祖:「你是不是還想做他的妻子?那你還得修煉……」
女孩平靜地打斷了佛祖的話:「我是很想,但是不必了。」
佛祖:「哦?」
女孩:「這樣已經很好了,愛他,並不一定要做他的妻子。」
佛祖:「哦!」
女孩:「他現在的妻子也像我這樣受過苦嗎?」
佛祖微微地點點頭。
女孩微微一笑:「我也能做到的,但是不必了。」
就在這一刻,女孩發現佛祖微微地歎了一口氣,或者是說,佛祖輕輕地鬆了一口氣。
女孩有幾分詫異,「佛祖也有心事麼?」
佛祖的臉上綻開了一個笑容:「因為這樣很好,有個男孩可以少等一千年了,他為了能夠看你一眼,已經修煉了兩千年。」

---

love is serious

Friday, January 2, 2009

Finnish

notes for Finnish by Hannele Branch

1) absence of gender (the same Finnish pronoun hän denotes both he and she),
2) absence of articles (a and the in English),
3) long words due to the structure of the language,
4) numerous grammatical cases,
5) personal possession expressed with suffixes,
6) postpositions in addition to prepositions, and
7) no equivalent of the verb to have.