| Zhong 的个人资料挣扎中成长日志列表网络 | 帮助 |
|
|
2009/5/23 宣传一个网站Hottywood,一个记录电影里的激情戏的网站,帮助大家更有效率地看电影。 http://buggarden.zhengzhong.net/hottywood/ 上面的网址在国内好像被和谐掉了。这个不是因为网站内容的关系,我相信我的这个名不见经传的网站还入不了网奸部的法眼。主要是因为我使用的Google域名服务器不幸被墙了。如果在国内访问不了,可以试一试下面这个地址: http://bug-garden.appspot.com/hottywood/ 我觉得一部电影首先应该有趣。如果没有趣,那么至少应该有激情。如果既无趣又无激情,那么导演就会显得很无脑,大家看起来也会很无语。关于某部电影是否有趣,这个问题在IMDb或者豆瓣或者Flixster上可以找到答案,但我一直没有找到一个网站来回答某部电影是否有激情这个问题,所以就自己做了一个。我希望这个网站是有趣的,有激情的,并且是有用的。 在这个网站的建设期间,得到了雯雯,曹贤琳,张必萱,陈天帆,机器猫等朋友的大力支持,他们为这个网站提出了很多很好的建议和意见,并积极地为网站的内容添油加醋,在此表示感谢。 最后说明一些技术细节。如果你不是程序员的话,以下内容请跳过。 Hottywood运行于Google App Engine之上,服务器端使用的是Python语言和Django框架,客户端使用了jQuery库,部分图标来源于famfamfam的Silk图标集。如果你对实现的细节感兴趣的话,源代码在这里: http://buggarden.googlecode.com/ 2008/12/11 还是令狐冲我发现,不经常更新blog的坏处是,一旦我更新了一下,就会有人觉得我是受到了什么刺激。其实上一篇更新只是忽然想起令狐冲,与我自己无关。我不是令狐冲,不爱岳林珊,也不会独孤九剑。 其实想一想,令狐冲是很被金庸特殊照顾的一个角色。在那么多主角里面,就令狐冲失过恋,这在武侠小说里是件挺不容易的事情。象郭靖啊杨过啊,爱上一个就能白头偕老,恋爱一次成功这种在现实生活中很难做到的事情,在武侠小说里面实现的是如此的理所当然。张无忌一艘船里载了四个姑娘,个个对他情真意切,然后他择优录取,何等的福气。韦小宝七个老婆兼收并蓄,中间再穿插一段俄罗斯小夜曲,真是海纳百川有容乃大。段誉辛苦点,追一个美眉花了大半部书的时间,不过最后得偿夙愿,也算是幸福的大结局了。萧峰凄凉点,一掌打死了自己最爱的女人,塞外牛羊空许约,让人扼腕。不过阿朱至死都是爱着萧峰的,人生如此,夫复何求。可遥想令狐冲当年,被成不忧一掌打得四肢无力百花残,加上又见疑于师父,被师妹劈腿,爱情与事业齐飞,肉体共精神同衰,却是怎样的一幅辛酸光景。 金庸自己说,他最喜欢的人物是令狐冲。我不知道金庸是因为他的痛苦才喜欢他的,还是因为喜欢他才让他痛苦。当岳林珊和林平之在令狐冲的背上刻下“海枯石烂两情不渝”这八个字的时候,金庸会是怎样的心情?我想,那浅浅的刻在背后的八个字,一定比成不忧拍在他胸前的那一掌更加沉重。当岳林珊临死前在令狐冲的怀里唱起给别人的情歌的时候,金庸又是怎样的心情呢?任盈盈的清心普善咒弹得再温柔,恐怕也挥不去他心头的那首福建山歌吧。 在金庸小说里,令狐冲一直不是我最喜欢的人物。我年轻的时候喜欢杨过,憧憬那种快意江湖的潇洒。如今年纪渐长,却越来越喜欢郭靖,向往那种大智若愚的单纯。只是有的时候我会忽然想起令狐冲,想起那个在思过崖上舞剑的孤独身影。月黑风高,夜凉如水,在他笑傲江湖的独孤九剑里,依稀还能看见那套两小无猜的冲灵剑法的影子。 2007/12/7 卡门印象L'amour est un oiseau rebelle que nul ne peut apprivoiser. Et c'est bien en vain qu'on l'appelle s'il lui convient de refuser. ...... L'amour est enfant de Bohème, il n'a jamais connu de loi. Si tu ne m'aimes pas, je t'aime. Si je t'aime, prends garde à toi. 终于看了歌剧《卡门》,比才的杰作。 四个食不果腹的人端坐在舞台下,饥饿得来自胃部的咕噜声只有自己能听见。 遥远的白发指挥,遥远的绿衣军官,遥远的红色卡门扭着婀娜的腰身,摇曳着华丽的百褶裙。她柔臂招展,我多想能看见她的面容。她纵声歌唱,我多想能听懂她的语言。可是舞台真的太遥远了,歌词真的太难懂了。他们高昂流情,放荡不羁,我自饥肠辘辘,心猿意马。多亏了一位朋友在演出开始前向我介绍了卡门的剧情,使得我大概还能看出发生了些什么。 华丽的场景,奔放的舞姿,雄壮的卡门序曲总能适时地唤醒被咏叹调催眠的人们。 红色的舞裙,红色的灯光,红色的花,红色的血,倒下了不朽的卡门,也破灭了我去Quick吃一顿晚饭的希望。 2006/5/20 爸爸妈妈的探亲签证尘埃落定爸爸妈妈5月18日拿到了签证,5月19日晚上23:55的飞机(东航MU553)从上海飞巴黎,明天早晨(5月20日)巴黎时间06:00到戴高乐机场。 在此特别鸣谢: * 支为,感谢他帮我出具的市政府接待证明所需的材料。 * 屠奇,感谢他帮我冒充支为去市政府递交的材料,以及转让给我的廉价机场到巴黎的地铁票。 * 考拉,感谢她陪我商量如何办理各项材料所操的心。 * 包明,感谢他为我的父母在上海跑了几趟法国领事馆的签证处去询问情况,虽然基本上是白跑。以及感谢他为我和我的父母提供的上海住宿。 * 从丁一,感谢他转让给我的一个月的房子,解决了我的父母在巴黎的住宿问题,虽然比较偏僻。 以及其他的一些朋友,感谢他们不停的来电关注签证办理动态,以及在办理成功后致来的贺电。 2006/3/28 辞职今天终于和老板辞职了,我的第一份历时一年多的工作将在不远的将来无疾而终。对于这样一个从来不做详细的需求分析,从来不遵守编码规范,从来不写单元测试案例,从来不使用设计模式和最佳实践,从来不考虑修正代码可能引发的退化(regression),等等等等,的公司而言,离开对我来说是一个不小的喜讯。而对于我的老板而言,一个每天十点半才到公司,经常在上班时间登录中文网站让他不知道是在查资料还是在看八卦的程序员主动要求离开,应该也不是什么太悲伤的事情吧。 在Edifixio的一年多的时间里,我还是学到很多东西的。最大的收获,是锻炼了我阅读没有文档的代码的能力。在我的第一个项目Aptrix里,我亲眼目睹了那些程序员使用JAD(Java Decompiler)反编译了IBM的Aptrix内容管理系统的代码,然后在这个基础上做二次开发。这颇让我惊讶那些家伙们的野蛮和生猛。那个反编译出来的Aptrix代码,既没有文档,变量名也都和象形文字一样,我花了好几个月的时间,居然也通读了一多半。由此我得出一个结论:人的适应能力比想象中的强。看似不可逾越的鸿沟,如果你不得不去面对,那多半会发现自己其实还是有逾越的能力的。 后来我再去看Apache的Pluto项目的代码,感觉就好像读完史记再去读白话史记一样。我得以顺利成为Pluto的主力committer,公司对我的培养功不可没。 离开Edifixio之后,我将去汇丰银行继续做程序开发。我将不再使用我最热爱的Java,改用放荡不羁的C++。用惯了Java的程序员好像温室里的花朵,恐怕不太能够承受指针乱指和内存泄漏这样的风风雨雨。面对如爱情般难以把握的C++语言,不知道我需要花多少时间去适应。不过,根据第二段里所得的结论,我对此还是怀有信心的。 在新的工作中我还将接触到一些金融方面的东西,这是件让人兴奋的事情,可以让我觉得自己不是太狭隘。在我的思想里,编程只是一个工具,就好比语言,它们的存在是为了让我们可以更好的去做其它一些事情。为编程而编程,这似乎背离了编程的初衷,让我觉得我是个除了编程什么都不懂的家伙,too simple sometimes naive。 总结:我今天辞职了,这是一个好消息,嗯。 2006/3/26 其实这是一个文字游戏声明:以下的解释是我关于前一篇考试问题的想法,不是官方标准版,没有权威性。 首先简化一下模型,考虑这样一个游戏:有五个从1号到5号编好号的球,甲选择其中的一个球做个标记,然后乙来猜测是哪个球。 规则A:如果甲在N号球上做了标记,那么乙将可以猜测N次(当然甲不会告诉乙他可以猜多少次)。如果乙在N次之前猜对,那么甲输;如果乙用完了N次机会也没有猜出来,那么乙输。 规则B:无论甲在哪个球上做了标记,乙都将只有一次猜测机会,猜对则赢,猜错则输。 很显然,如果按照规则A进行游戏,那么甲是必输的:只要乙从1号球开始猜,顺次猜到5号球,就一定可以在最后一次机会上猜对。如果按照规则B进行游戏,那么甲取胜的概率就是80%。 回到考试问题上,其实推理隐晦地使用了规则A,所以得出结论:无论老师把考试定在哪一天,学生一定可以在考试前一天确定考试的日期。所以我认为,问题的关键在于“确定”和“猜测”的区别。 何谓“确定”?学生有多少次“确定”的机会?这个是直觉想象(考试日期可以确定)和逻辑推理(考试日期无法确定)的分歧点。按照推理所得结论,可得推论:如果老师定下了考试日期,那么学生一定可以在考试前一天确定明天考试。那么确定的方法是什么呢?按照反证法的思路,可以这样确定:星期天的晚上,学生确定考试在星期一。如果考试在星期一,那么就OK了。如果不在,那么星期天就不是考试的前一天,那么学生不在考试的前一天所做的确定,即使错了也没关系----因为题目并没有对非考试的前一天里学生的判断做出限制。那么在星期一的晚上,学生可以继续确定考 试在星期二。。。这样不停的确定下去,必然学生可以在考试前一天正确的确定出考试的日期。 以上是逻辑推理对“确定”的规则A式的理解:学生可以确定很多次,只要在考试前一天确定正确就可以。而直觉想象对推理的结论感到不可理解,是因为我们直觉上把“确定”理解为使用规则B:既然是确定,自然只能确定一次,确定错了,自然就没有资格再去确定一次。 根据这样的解释,如果我们使用规则A,那么推理就是正确的,为了直觉上理解的轻松,可以把题目里的确定改为“猜测”,这样大家就不会觉得结论匪夷所思了。如果我们使用规则B,那么反证法就是错误的,因为在推理星期五不能考试的时候,使用了一个隐含条件:在星期四以前的几天里学生没有“确定”过考试的日期。所以学生才在星期四的晚上还有确定的机会。而这个条件,在星期三的时候显然是不成立的,所以推论一(星期五不能安排考试)在星期三的时候就不能用。 2006/3/23 一个困扰了我很久的逻辑问题老师宣布,在下周的某一天将举行一次突击考试。为了防止学生在考试前一天把答案抄到课桌上作弊,考试的日期将满足条件:在考试的前一天,学生无法确信考试的日期。 这样就产生了一个逻辑问题:考试的日期无法确定。推理如下: 假设定在星期五。那么星期四的晚上,每个人都可以确信考试的日期,这与前提条件相悖。故得推论1:考试不可能在星期五。 假设定在星期四。那么星期三的晚上,每个人都可以确信考试的日期是明天或者后天。根据推论1,后天是不可能的,所以每个人又能确信考试在星期四。这与前提条件相悖。故得推论2:考试不可能在星期四。 依次类推,可得:考试定在哪天都不行。 困扰我的是:到底是上面的推理有问题,还是的确如推理所得,考试的日期是不可能满足前提条件的? 这个逻辑问题,自从我几年前听到之后,一直困扰着我,令我不能释怀。路过的如果对这个问题有见解,请指教,不胜感激。 注:如果这个推理有问题,我想知道的是,问题在哪里。我不需要另外一种推理方式来证明考试的日期可以满足前提条件。 2005/9/14 加入Apache Pluto,发文留念自七月起,吾醉心于Apache Pluto,每日舍公司工作于不顾,为Pluto抓bug,打补丁,周而复始,乐此不疲,颇有徐元直身在曹营心在汉之遗风。是日David DeWolf于dev list上修书一封与诸成员,欲拜我为committer,全文如下: [Vote] Zheng Zhong as Pluto Committer I would like to nominate Zheng Zhong as a pluto committer. Zheng has been vital in increasing the activity on the pluto developer and user lists. He has submitted several patches and undoubtedly has a grasp of both the portlet specification and the pluto implementation. He has shown a willingness to work with others and a desire to help out. Zheng has opened the following jira issues and submitted solid patches for many of them: PLUTO-167 PLUTO-166 PLUTO-162 PLUTO-161 PLUTO-160 PLUTO-151 PLUTO-150 PLUTO-148 PLUTO-147 PLUTO-146 PLUTO-145 PLUTO-144 PLUTO-141 PLUTO-140 PLUTO-139 PLUTO-138 David 阅毕此书,吾心潮澎湃,热血喷张,激动之情,自然不在话下。吾为Pluto奋斗两月有余,终将修得正果一枚。为感David知遇之恩,必将鞠躬尽瘁,奋斗不息。
是记之。 2005/6/18 大胆假设,小心求证当年在MSN上编辑我的档案文件时,在座右铭一项里想填写的是Ken Thompson和Dennis Ritchie的一句名言“简单即美”,S.i.m.p.l.e...i.s...b.e.a.u.t.i.f.u.l,没想到MSN说单词s.i.m.p.l.e是被禁止的语言,让我百思不得其解,不知道这个平平无奇的单词犯了哪个忌。昨日突发奇想,做假设一个,在座右铭里填写n.a.i.v.e,果然也被禁止了。 这不禁让我想起了我国某位伟人的名句: Y.o.u...a.r.e...t.o.o...s.i.m.p.l.e.,.s.o.m.e.t.i.m.e.s...n.a.i.v.e... 不知道MSN的敏感词列表是和谁商量决定的,此句被禁,简直是犯上。 2005/6/9 我能让香烟变成烟头在我抽掉的每一包烟的烟壳上,都会用中文或者法语标明“吸烟有害健康”。我习惯在新打开一包烟的时候,抽出一根倒着放,留着最后抽。在传说中这根烟叫做许愿烟,据说在抽它之前许上一个愿望,这个愿望就会实现。我有的时候会许愿戒烟成功以停止继续糟蹋自己的身体,而每当我打开一包新烟的时候,都是对这个关于许愿烟的传说的一次证伪。由此可见,吸烟即有害于健康,又不能用来许愿,简直一点好处都没有。 我的烟龄开始于2003年的4月,在我年轻的时候是不抽烟的。我上中学的时候有个好朋友叫常亮,会抽烟。我曾经质问过他吸烟有害健康你为什么还要抽,他的回答我早已忘记。准确的说,我连他是否对此做出了回答都记不得了。我能记得的只是他曾写过的一首诗,题目叫“我能让香烟变成烟头”,最后两句是,我能让香烟变成烟头,因为我在抽。现在想起来,在我们无忧无虑的少年时代,我们缺乏一个充足的抽烟的理由,抽烟大概只是为了完成一个把香烟变成烟头的动作,就好像大学时去上某些课只是为了完成一个在点名时喊一声到的动作一样。 如今我烟龄两年多,抽得丧心病狂,不能自拔。也有朋友问过我当年我问过的同样的问题,即使身临其境我还是觉得这样的问题颇难回答。大部分时候我说,因为我想抽。偶尔我也会说,因为我能把香烟变成烟头。 我原来以为抽烟可以排遣郁闷,在我抽完若干包烟还郁闷依旧之后我知道,所谓的抽烟排遣郁闷和许愿烟的传说一样,只是一个谎言而已。长久以来我一直在为抽烟和戒烟寻找各自的理由,在这方面,抽烟总是处于绝对劣势的地位,遗憾的是我很难按照理性的方式去生活。 半个小时以前,我在楼下把我的万宝路许愿烟变成了烟头。现在我想,好吧,抽烟虽然不能用来排遣郁闷,但至少可以帮我打发掉一些郁闷的时间。 有关理性和非理性的一些补充: 大概一个半小时前我说,我很难按照理性的方式去生活。关于这一点,我想并不尽然。我并非一个完全丧失理性的人,这可以从我的生活还不够精彩上看出来。比如说有的时候,我就很想用键盘抡一下我老板的脑袋,比起下楼去抽一根烟而言,这个事情如果发生了,应该会给我带来更大的快感。可是在衡量了一下这个想法的非理性的程度之后,我就不会去完成这个动作,即使老板来烦我的时候我手边正有一个现成的键盘。 我想之所以我难以戒烟,这是因为我没有把抽烟这件事情的非理性程度放在一个很高的位置上。鉴于我目前的身体健康状况和我每个月在香烟上的开销,我应该去重新审视抽烟和戒烟的问题了。如果瞬间拔高抽烟的非理性程度是件比较困难的事情,那么至少我得把“每天抽很多烟”的非理性程度尽量拔高些。 恩,我得开始戒烟了。 2005/6/7 了无生趣的工作最近的工作实在是太无聊了,开发已经结束,我每天就坐在电脑前打开一堆号称是功能规范的word文档,看看里面鸡歪了些什么。如果幸运地看懂了的话,就把它们整理到一个excel文件里,再去CVS里看看哪些程序实现了这个规范。如果幸运地找到了的话,就把程序的文件名罗列在那个excel文件里,等等,等等。在描述这个愚蠢无比的流程的时候,我使用了两次”幸运地“,这个词语更多次的重复幸运地被两个”等等“所包括了。 所谓的功能规范,据说是按照客户的要求写的,使用的语言是英语。客户的大脑加上作者的英语表达能力,使得写出来的规范无论是客户还是作者都不能全懂,更不用说我了。现摘抄一小段规范内容如下: 2.2.5 Range ordering The ranges can be ordered using the standard Ilwwcm ordering system (see use case for an example). This ordering does not take care of their type (legacy, "phare", oe other). It is up to the publisher to manage it using the standard ordering functionality. This is this ordering that is used for: 看看这一句:This is this ordering that is used for... 表达方式可谓鬼斧神工。 然后这些功能规范需要使用java来实现,项目负责人一般都是规范的作者,这样可以让对规范的理解上的传递误差相对小一点。前一阵子公司人事变动比较大,每天来上班的人都不太一样,好像办公室是一辆公共汽车。那些程序员在CVS的各个角落留下一些代码,然后悄然消失。而我现在就得在CVS大量的文件里翻翻弄弄,猜测哪些程序可能实现了哪个规范,好像在玩一个设计拙劣的藏宝游戏。我怀疑我的耳鸣和耳后淋巴结肿大和我现在从事的工作有很大的关系。 抱怨到此结束。另外,今天去上厕所的时候居然发现一个同事在那里刷牙,真是性情中人,故记之。 2005/6/6 Summer of CodeGoogle出了个Summer of Code Program,http://code.google.com/summerofcode.html,提供4600美元的奖金来鼓励在校学生利用暑假时间参与开放源代码项目的开发。这个东东只面向18岁以上的在校学生,这颇让我为告别学生时代而感到遗憾,直到我想到我还有一个Universite de Marne la Vallee的DEA学生证。这是我当年申请工作签证前为了延长居留证而办的,可是后来它并没有起到该起的作用。到目前为止,它唯一的用途只是帮我买了一张学生地铁年票。那个所谓的计算机DEA,我一天的课也没有上过,也不知道现在被开除了没有。但既然有个证,我勉强还能算是个学生,于是就去Summer of Code上注册了两个Apache的项目,一个是MyFaces-examples,一个是MyFaces-JSF-1.2-implementation。 申请信已经发给了MyFaces项目的老大和dev邮件列表,我想如果能够被接受,大概可以或多或少的改变一下我目前了无生气的生活状态,分散一点我对自己健康状况的无端怀疑。最终的结果将在6月24日出现,正好是我拿文凭的日子。这真是个善解人意的巧合,因为那天至少会有一件事情能让我心情不错。 另外,关于Apache的MyFaces项目,参考 http://myfaces.apache.org 。 |
|
|