2010年3月29日星期一

【贴图】使命召唤6:现代战争2

已爆机。下图均为游戏中截屏,不过不是我截的,游戏中我忙着躲枪子,没空拍照。可以看出关卡设计有多么精彩多样,玩过之后不嫌其长反嫌其短,射击类游戏很少给我这样的感觉。从此我最喜欢的 PC 游戏公司在 Blizzard 和 UBI Soft 之后可以再添上一个 Infinity Ward 。赞!


2010年3月27日星期六

一锅杂烩


在《德国之声》听到汉斯·齐默曼的专访,谈这部电影的配乐,还有奥斯卡奖提名什么的。这片子的 1080p 版本下在我机器上已经有几个礼拜了,近 10GB,如果不是本周看掉,再想起估计要等到下次整理硬盘了。

配乐很卖力,处处烘托紧张气氛。男主角小罗伯特·唐尼除了前年在《钢铁侠》里和广大观众混个脸熟,八年前还演过《卓别林》。要问卓别林和福尔摩斯的共同爱好是什么?答:小提琴。小罗伯特拉琴的本事没浪费,可片中他几乎不用弓弦,而直接用手指弹拨。这一方面是表现他思维的灵活跳跃,另一方面确实是因为剧情太紧凑没空让他拉一曲完整的旋律。

福尔摩斯还有个爱好书中有写,就是拳击。编剧当然不会放过这个设定,所以打斗几乎贯穿全片,有招式说明回放,有慢镜头特写,还专门找了个说法语的大沙袋来挨揍。在重重机关中穿梭,千钧一发时脱险,以小搏大以弱胜强,救美女抓坏蛋。如果有观众进场迟到只看到工地上打斗的场面,多半会以为又是成龙的贺岁片,区别只是成大鼻子整容变成了洋人。

三个女人一出戏,没有女人虽然也有戏,但票房就不好说了。所以华生医生带出未婚妻玛丽,福尔摩斯也勾兑上了女贼艾琳。玛丽的第一次出场时,福尔摩斯就变成了《Lie to Me》里的莱特曼博士。揭人隐私不留情面,后果就是酒水泼脸。就算他为好友华生的重色轻友心坏妒忌,就算他要卖弄自己的推理,英国绅士的风度不要了么?原著里的福尔摩斯可一向都是很有风度的,尤其对女士。上网一查编剧果然是 WGA 成员,通晓所有美剧元素,这段情节纯属照搬公式。而女贼艾琳和主角的你来我往难分高下让人想起了肖恩·康纳利的《Entrapment》和皮尔斯·布鲁斯南的《The Thomas Crown Affair》。那两人秉承 007 系列的一贯信条:美丽玫瑰须带刺,自古英雄爱女贼。

华生在此剧中的作用是表现兄弟情深,几次为救主角差点挂了,两人之间的暧昧眼神远比他和未婚妻之间来电。按理说这领盒饭走人的男配角不该这么过火,冷落了女配角还抢了女主角的戏,以至于豆瓣上广大女网友一致抱怨:“海报上俩男人都挺帅,本以为是腐片才来看的,没想到是 gay 片,失望失望。” —— 有人失望就有人暗爽,这个世界就是这么,平衡。

数百年流传的修隐会、神秘的宗教仪式、五星纹章让你想到什么?是的,汤姆大叔的《达芬奇密码》,那片子的票房是如此之好以至于续貂之作《天使与魔鬼》不到三年就出来了。

在福尔摩斯生活的年代,巫蛊术占星学的信众可能是比现在多,但要一个罪犯按照纹章上的几何方位和动物顺序来作案,然后侦探再用这种“过家家”的逻辑为破案线索那就有点牵强了。同样的情景在《钢炼》里似曾相识,可那毕竟是一个没有真实国家年代设定的动画片呀。《柯南》二百集以后倒是常有这种自己为是的推理,反正“过家家”的游戏规则可以随便定,怎么都能自圆其说,真正的推理迷们就别较真了。

易碎的剧毒物质从爆炸装置上拆下,大家抢来抢去,几次跌落但幸未造成严重后果让你想到了什么?没错,尼古拉斯的《勇闯夺命岛》。在英国国会制造恐怖事件 —— 《V for Vendetta》。英国上层政要密谋光复美国这一幕也好像似曾相识,肯定在什么别的电影里看到过。

说到底,这是锅杂烩。把所有以往证明卖座的元素放在一起炒了。既然众口难调,不如让每个观众各取所需。中国人说一百个人读《红楼梦》就有一百个贾宝玉,英国人说一百个人读莎士比亚就有一百个哈姆雷特。福尔摩斯也可以有多个版本,但我不喜欢这个杂烩福尔摩斯。几年后我可能早忘了这片中的情节,但我还会记得王老板两年多前的这段解读

《不朽的福尔摩斯》

2010年3月23日星期二

剪刀、石头、布


那天是你用一块红布
蒙住我双眼也蒙住了天
你问我看见了什么
我说我看见了幸福








坚硬的石头
密不透风的墙
就算没有门
也要凿开扇窗









剪了吧
既然戏台上已人满为患
不缺你来粉饰太平

离开吧
这里人人都有一把剪刀
专攻自己和别人的下半身

2010年3月20日星期六

牙慧集


维基上有人总结了一些定理,多以洋人姓氏命名,适合广大装逼爱好者收藏以备不时之需。姑且听之,遇到有共鸣的就记下来。虽说多是些牢骚话,听听别人的牢骚也比独自一人郁闷健康些。



Conway 法则 - (计算机)系统的设计构架取决于开发团队的组织构架

他举例:三个小组合作开发一个产品,最终这个产品必然包含三个以上明显分割的模块,模块间的耦合度取决于各开发组之间的交流程度;

又举例:某人开发一段较复杂的代码,日后另一人追加新功能。后者一般不会直接改动前人的代码,而是倾向封装、继承、扩展,于是最终的产品可以明显看出这个人和那个人的痕迹。

一年多前,我在帮老板重新整理分类已完成的工作内容时认识到这个的(那时我还没读过这个定理)。我起初倾向严格按功能模块分,结果各组都不干,理由是权责要明确,一个东西必须有且只有一人负责,我认同。可组织架构常常会变化 —— 有人离职,有人加入,有的组合并,有的组拆分,有专家从这个组调到那个组仍要兼顾前组的工作但结果记入后组的绩效评估... 所以模块间的关系也就跟着改来改去,时刻反应组织的变迁。

一年后我参与开发的这个产品有十多年的历史,该产品的代码几乎用到了所有可以想见的设计模式,从外部进行一个最简单的数据库读写需要二十个以上的函数层层引用。起初我以阴谋论猜度,认为这是劳方糊弄资方的一种方式,自己给自己找活干,有活干就有饭吃,有更多的活儿干就能招更多人,自己也可以管更多人。看过这条定理以后,我不得不承认自己的浅薄。人人都有自己的想法,最终的结果是诸多想法的合力,也就是说,这个结果很难被阴谋家设计出来。十多年,经历成百上千人之手,产品反映的是组织的变迁。不同国家语言文化的几伙人一起合作,模块划分得越清楚,沟通成本越低执行效率越高。

说到底人员的管理决定了产品的设计,鸡的屁股决定了蛋的大小。



Coefficient of Inefficiency/低效系数定理 - 会议的人数效率呈反比。

皇帝要分宰相的权,就设三公九卿三省六部大学士军机处,想办法把内阁搞大。上周几千人乌泱乌泱聚在帝都开会,每人轮不上说三句话,不出意外果然没通过什么建设性的方案。这定理还有个说法:会议的重要程度和人数呈反比。应用到工作中就是,当你被指派干一件特别不想干的事儿,形式上最积极结果上最消极的应对就是,找来所有相关方开会。



Segal 定理 - 带一块表的人知道时间,带两块表的人不确定。

那么带三块表的人呢?



Murphy 定理 - 可能发生的坏事必然发生。

程序员知道即便错误率万分之一的程序也绝不能用在银行系统上。否则几万单交易里一单出错都够让银行关门。虽说这个定理反过来说也一样,可能发生的好事必然发生。但人对痛苦的刺激反应比快乐强烈。银行也绝对不会因为那一万次里九千九百九十九次算对了而感到沾沾自喜。不光程序员,其它从事工程专业人,一旦进入细节处理,就成了只看到半瓶水空了的悲观主义者,而且他们肯定早已听说过这个定理。如果你不认同这条定理,凡事都只看到光明的一面,那么恭喜你,你是做大事的人。



Gall 定理 - 任何可以运作的复杂系统都是从可以运作的简单系统发展而来的。

中国人说“一屋不扫何以扫天下”,一样的道理。与其幻想一个需要付出极大代价还不知道是否能实现的系统,还不如先做个小样,看看它能不能运作,如果能,再搞搞大。



Sowa 之标准定理 - 每当一个主流机构开发了一个系统并宣称它是某某(协议、技术、产品)的官方标准,在随即而来的广泛推广中,一个更简单的系统会成为这个某某(协议、技术、产品)的事实标准。举例:
  • PL/I 的推出使得 COBOL 和 FORTRAN 成为商用和科学用编程语言的事实标准
  • Algol-68 的推出使得 Pascal 成为学术编程语言的事实标准
  • Ada 语言的推出使得 C 成为国防部的事实标准
  • OS/2 的推出使得 Windows 成为桌面系统的事实标准
谁有权定标准?政府部门或是像 IBM 这样的业界领袖可以定“官方”标准,但定不了“事实”标准。采用哪个不采用哪个,最终选择权仍在用户手里。关键字“更简单”呼应上面的 Gall 定理,自顶向下的设计除了面临无法实现的风险,还面临无人理睬的风险。



Sarnoff 定理 - 传播网络的价值和其受关注程度呈正比。

说实话我到现在也不怎么理解“眼球经济”。为什么网站要流量为王?因为它本质上属于媒体业,流量多了它可以卖广告。可为什么别的行业都要效仿,搞些叫好不叫座吃力赔本赚吆喝的东西,都把自己当媒体了么?



Thomas 定理 - 如果人们认为情况属实,那它将会造成真实后果。举例:
  • 有谣言说某家银行要倒闭了,人们信了,都去挤兑,结果银行真倒闭了。
  • 七十年代石油危机中,有人谣言说厕纸将紧缺,于是大家都开始囤积厕纸,搞得厕纸真紧缺了。
  • Keynes 选美定理:人们买股票看的不是其本身价值,而是预期他人对这支股票的判断。

因果有时可以相互作用,经济学就是分析人类行为的逻辑。



Goodhart 定理 - 任何社会的或经济的统计数字,一旦成为指导政策的指标,它就失去了信息价值。

这就是为什么天朝老百姓不怎么相信“鸡的屁”(GDP)。这就是为什么两年前我拒绝开发用于本部门的自动 KPI 系统。黄仁宇说用数字管理国家比用理念靠谱,我同意。但数字衡量一个国家、一个公司、一个组织、甚至具体到每个人每件事,真正实现起来困难颇大,计算公式的公平性有争议,为防止作弊公式要时常调整应变。这些困难再加上权力者方面的压力会使得技术手段看起来像是出闹剧。搞统计的普遍被认为是无耻的骗子,很无奈,意志不够坚定脸皮不够厚的趁早别干。



Rothbard 定理 - 人们倾向专注于他们不擅长的领域。

真正有天赋的人不学就会,道可道非常道,他们凭的是直觉,别人看来很难的事他们觉得没啥可夸耀的。而那些天资不聪慧的人才勤勤恳恳不断总结经验教训一步一个脚印往前走。整天把股市术语挂着嘴边的人,绝大多数是外行。像我这样写起不老歌来一发不可收的话痨,非但不是职业写手,写得东西也并非自己所长。



Godwin 定理 - 随着争论贴的增长,贴中出现用纳粹或希特勒比喻的概率趋向 100%

此定理在表述上有时间和空间的局限性,因为人们的争论未必发生在网络论坛,也未必发生在二战以后的西方社会。任何时候人们激烈的辩论最终都是这么一个结果 —— 失去耐心的参与者给对手扣个大帽子,一棍子打倒。这事放到古代中国,造反发檄文就骂皇帝是桀纣,尽管谁都没见过桀纣;文革时代,两伙人武斗可以相互指责对方是走资派、帝国主义走狗、顽固的封建残余,不需要根据和理由;再到今天的网上论坛,汉奸与爱国贼,粪青和五毛党的标签乱飞,早已忘了讨论的具体问题是什么,人们只关心立场。

人非圣贤,到最后谁都可能失去耐心。所以轻易不要参与注定没有结果的辩论,如做不到就谨记“对事不对人”的原则,如果这也做不到,就享受吵架的乐趣吧。与人斗其乐无穷。



Sayre 定理 - 与任何争端的感觉强度成反比的是,其所涉利益的多少。(学院政治是所有政治中最遭的,因为奖金太低
括号中的是 Sayre 教授抱怨的重点,前面那段只是给自己的言论寻找理论依据。就我个人的感觉,在河蟹社会之下,那些大张旗鼓拿出来讨论宣传的东西往往只是鸡毛蒜皮,所谓雷声大雨点小;而真正的利益分肥都在私下里平和地进行,所谓润物细无声。真要把核心利益的东西放在台面上岂不天下大乱?



90-90 法则 - 起初的 90% 代码占用了 90% 的开发时间,剩下的 10% 代码占用了另外 90% 的时间。

这种说法表述不清(它意图用 90%+90%=180% > 100% 说明工程耗时远超预算),维基上该词条换了几种说法依旧表述不清。个人经验,软件工程用时很难估算,经常为克服一个的技术难点耽误好几天,有时甚至为了绕过一个克服不了的困难整个方案大改版。数数暴雪的《星际2》跳票了多少次,再看看开复老师爆料的 Vista 开发的坎坷,然后再问问自己有没有看见过每天正常时间上下班的程序员。当我和一个做建筑工程的朋友解释软件与其它项目的区别时,他颇不以为然 —— 其它的工程行业也同样有高风险的难关,凭什么软件是特例呢?

检讨软件这个行业,问题可能是从业员素质不过关 —— 还有哪个行业像我们一样有那么多的“技工”挂着“工程师”的头衔却连时间、成本、风险都估不准呢?还有可能是需求难以控制。人们不会要求一个建筑师造一条地球到月球的通路,因为傻子都知道那样行不通。但人们会向软件工程师提出类似的要求,因为没人证明过这样不行,于是项目就傻乎乎地开工了。写软件和造房子不一样,一切皆有可能。

2010年3月14日星期日

3.14



周四全天在江边开会,休息之余坐在窗边,默默注视着那座阳具崇拜塔。此塔据说还兼具观光和电波发射功能,可惜我一来不喜欢塔上风景,二来基本不看电视。旁边的同事没话找话,“这里的辐射应该很大吧”。我回答,“是呀,以发射点为中心,作同心的球面。如果不考虑介质吸收的衰减,根据高斯定理,穿过每个球面的电磁辐射总量是一样的,故电磁强度和球面面积呈反比。因为球面面积和半径是三次方关系,所以某处电磁辐射强度和与辐射点距离是三次方倒数关系...” —— 谢尔顿式的答复是礼貌地终结谈话的最好方法,除非对方也是个书呆子。谢天谢地,他不是,因为他居然没有听出我话中最基本的几何错误:

球面面积为半径平方乘以四倍圆周率,不是三次方关系,我公式背错了。

读书的时候我就讨厌背公式。不光是因为鄙视死记硬背,更因为我打心底里怀疑一切:别人告诉的结果未必是真的,要自己验证后才作数;轻易得到的东西轻易地丢弃,最终不是自己的,要下工夫获取的才不容易丢弃。

值此圆周率节,我推一遍球体面积公式以示庆祝: