下面这几句是昨天(2012年6月3日)晚上躺床上时写到新浪微博去的。今天知道被新浪屏蔽了。而且屏蔽得很有技巧:我自己能看到,别人看不到。这就好比让你对着真空说话,你说了,别人却听不到,你还以为一切正常。还好我有这个墙外的自留地可以随便撒野,留此存照。
“很快就到明天了。一转眼已二十又三年。德先生在那日转身离去后周游世界,却再没回来,也没人知道他还能否回来。细细算来德先生也该九十三岁高龄了,却从没真正受到过历任村长们的喜欢。所以我越发觉得德先生是不大可能回来了。写下几句算是为了忘却的记念罢。”
下面这几句是昨天(2012年6月3日)晚上躺床上时写到新浪微博去的。今天知道被新浪屏蔽了。而且屏蔽得很有技巧:我自己能看到,别人看不到。这就好比让你对着真空说话,你说了,别人却听不到,你还以为一切正常。还好我有这个墙外的自留地可以随便撒野,留此存照。
“很快就到明天了。一转眼已二十又三年。德先生在那日转身离去后周游世界,却再没回来,也没人知道他还能否回来。细细算来德先生也该九十三岁高龄了,却从没真正受到过历任村长们的喜欢。所以我越发觉得德先生是不大可能回来了。写下几句算是为了忘却的记念罢。”
其实没有人能记得自己出生时的状况,但人人都记得自己的生日,尽管都是长大后被父母或别人告知。
但所有的长辈和依稀的记忆都告诉我,我小时候的天空确实很蓝,也确实可以在院子里支个簸箕就轻易盖到麻雀。水确实很清,小沟和大河都可以跳下去游泳。上学放学确实可以自己走路,不用担心撞上汽车或者坏人。没有冰箱空调,但夏天确实没有现在闷热。棉衣衣袖一接再接,但从没觉得害臊因为勤俭节约还是美德。没有彩电音响,但电子管猫眼收音机和黑白电视一样带给我们欢乐。没有形形色色的综艺节目和五花八门的电视剧,但铁臂阿童木和森林大帝就足够让我们充满期待。吃的喝的是真正的绿色生态,从没听过更没见过化工行业和食品行业的杂交。住的是简陋的平房,但不用付高昂贷款。就近上学顺理成章,不用择校、天价和奥数。看病是很简单的事情,更不能想象病人追砍医生。做好事真的不留名,也不用担心被倒打一耙。
那些都是所谓的“改革开放”以前的记忆了。失去的总是美丽的,所以回忆中有许多美好。我们选择性遗忘,也选择性记忆。可是我还是禁不住问自己,我们这个社会到底是在进步还是在退步?
每当我企图回答这个问题,我就发现我不得不套用标准的官方排比句式:我们在……取得了长足进步,但在……仍存在一些问题。还得加上中国人口多、地域广、负担重、发展不平衡bla bla 做前提条件。然后一切就都是发展中的问题了。一切就都正常了。领导们换了一拨又一拨,这排比句却没有丝毫改变。除了实现了设计师说的“让少部分人先富起来”,那大部分人却是离富裕越来越远。设计师还说过“摸着石头过河”和“不管黑猫白猫抓住耗子就是好猫”。细细品味这两句,不禁让人怀疑设计师是否真的做过设计。
从王局陈律前后脚进入美领馆,到党报权媒左右飘忽的声音,后听说京城成立了个中国科学家自由民主党,似乎这一切都预示着什么。或许,中国近几十年最重要的变革就会呼之欲出了。又或许,一切都不会发生,一切都不会改变。再或许,几十年后,我们还会怀念今天的时光——那时,我们在用互联网!
领导经常教育我,光抱怨是没有用的,要么做点什么,要么丫闭嘴。我就想啊,不管三毛还是四毛,其实每天都可以是一个全新的开始,每天都可能做出一个或许能改变一生轨迹的决定。唯一不能确定的是,这个决定到底是什么?
很久不到医院,对医院的人多虽早有准备,但还是被这黑压压的人头吓了一跳。闪躲着穿行于人群中,终于办完前面的手续,恭候在核磁共振室门口。说是恭候,其实是“弓候”,因为寥寥几张椅子上早坐着超员超载的人们。超员超载是我们的特色。本来就是腰有问题才来核磁共振,当然不能久站,所以就以一种弓形靠在墙边候着。
旁边的大叔大姐拉着家常,从陌生人到开始互相真诚地让坐。我咽着口水装没看见。厚重的MR金属房门上贴满了各种代表放射性、请勿靠近之类的告示,警告着病员们没事不要去敲门、探头。房间里时不时传来各种频率的报警音——救护车、救火车、警车,让我怀疑那房间里到底发生了什么。有一大妈出来了,衣冠不整,扶着墙,摇摇欲坠,脸色苍白,直说“头晕、头晕”。我继续咽着口水。
白大褂拿着圣旨终于叫到我的名字了,一边应着一边直起腰,痛。双眼还有点发黑。大门已经敞开了,里面的女士半边身子还坐在那个庞然大物上。那就是著名的核磁共振仪了,见诸于许多医疗猛片中,比如Doctor House。白大褂言简意赅:“脱掉所有金属”。我掏出手机放到旁边,脱下外套和皮带放到旁边,这才发现今天穿了牛仔裤,口袋边上几颗亮晃晃的金属纽扣向我挤眉弄眼。我犹豫着对白大褂说:“这个,咋办?”白大褂毫不留情:“脱掉!”我说,“就一条。”白大褂一愣(难道将近二十度的气温穿一条裤子很奇怪?),顺手从旁边抓过一张轻飘飘的蓝色似纸非纸、似布非布的织物,说,“盖上”。我心领神会,立即爬上平台,在那织物的掩护下褪下牛仔裤至膝盖。忽然发现大门还敞开着,好心地提醒白大褂,“门还开着呢”。白大褂似乎没听见,只说了句“一定不要动!”平台就开始缓缓移动,像电影中的镜头一样,我被推送入那个洞。
洞里并无异味,灯光也柔和。洞顶离我还有二十公分,挺宽敞的,就算一大胖子也能轻松装下。不知道大门关上没有。想起别人说要十几分钟,我就开始怀疑我能否一直坚持这姿势一动不动。突然间,头顶警笛大作,正是刚刚在门外听到的一种报警音之一,不过这次音量巨大,震耳欲聋,感觉音源就在头顶。要不是白大褂坚定的嘱咐,我一定惊慌失措了。我只能稍稍咧着嘴,忍受着这巨大噪音,努力保持身体僵直。大约一分钟后,警笛终于消失,这个世界终于清静了!我长出一口气。猛然间,另一种警笛发作,频率明显不同,音量仍然巨大。我只能继续咧嘴,坚挺在案板上。然后慢慢地,感觉腰部开始发热,大概就是核磁共振的作用了。我想起了微波炉内的烤红肠。
在忍受了断断续续、各种频率、各种花样但都音量巨大的警报音折磨十几分钟后,我终于被缓缓送出洞口。还好我又听到白大褂的声音,说明听力还算正常。大门依旧敞开着。旁边已站立一女子等待上案板。我忐忑着伸手到蓝色织物下拉上牛仔裤,跳下案板,在门口众人围观中拉上拉链,扎上皮带,穿上外套,这隐私才算有了保障。一边出门,一边听到那女子问“要不要脱下胸罩?”我赶紧逃了。
深刻体会:在资源紧缺的社会,人是难有尊严的。
皮皮四岁了,好快。一到周末,若不外出,家里就变成幼儿园。小朋友们也一起长大,可以非常准确地用语言进行交流,可以任意进行角色扮演,虽然还时不时因为争执而变成嚎啕。大人们都清楚地计算着离孩子们步入填鸭式中国教育还剩下的日子。在这之前,我们能做的只是尽量让孩子们欢乐。
专注:
首先声明,本文非严谨学术论文,无数据分析,无实例支撑,基本只有假设,尤其后半段,包括那张图。目的只是素描一个粗糙的想法,因为,人老了,不记下来就会忘掉。
言归正传。通常生产率(Productivity)可以定义为单位时间内生产的产品数量。在软件开发领域“产品数量”难以找到像螺钉、纽扣一般明确的计件单位,所以软件生产率多以代码行或功能点的数量进行计算。而功能点的定义通常又比较含糊,不同软件产品、不同团队对于功能点的定义都不尽相同。所以代码行几乎是大部分软件企业衡量生产率的唯一标准:Productivity=LOC(Line of Code)/Effort。对这个定义,有两种解读:一,相同时间内(让我们暂且归一化resource,所以时间就是Effort)写的代码行越多则生产率越高;二,完成相同代码行花的时间越少则生产率越高。第二种解读可以理解为编程高手、熟手,基本没错。第一种解读却隐含了另外一个没有明说的假设条件:相同的代码质量。而这个假设条件非常重要,否则,哪怕能够实现同样的功能,我也可以堆砌出一大堆没用的代码。注意这些代码并不是“废品”(“废品”就是bug了),而是“低效”的代码。
这又不得不谈到代码的“效率”问题。那么是否完成相同功能、没有bug的代码,行数越多就“效率”越高呢?让我们先分解一下这个“效率”。我理解代码的“效率”应该包含三个方面:一,代码的片段运行效率,比如算法的选择,内存利用,I/O操作等等;二,代码的整体结构效率,比如函数的定义,头文件的选取,软件架构设计,设计模式的运用等等;三,代码的维护效率,主要指代码的可读性,别人是否很容易接手你的代码。
代码的片段运行效率,事实上跟代码行的多少没有太直接的关系。因为算法的优劣并不等价于代码的多寡。代码的多寡也不能决定内存、寄存器、堆栈、I/O是否有效利用。有时候过于精简的代码反而耗费更长的机器时间。当然过于冗长的代码是一定会降低运行效率的。我无法找到一个准确的曲线来表示代码行和运行效率的关系,也许每个软件都有不同的曲线,也许压根就无法用简单单变量函数表示出来。但大体上,应该还是个概率分布如泊松分布之类的。对于代码的整体结构效率,大体还是有原则可循的,过于精简的结构和过于冗长的结构都会降低程序效率,所以,这是否意味着它还是一个类似泊松分布呢?而对于代码的可维护性,相信大多数程序员都深有体会,一行代码完成过多功能只能让读者不解,而为了某些目的弃简就繁的写法也会让读者头晕。呃,所以,貌似这还是一个类似泊松分布。我当然还是无法确定这三个分解因素在构成“有效”代码时的权重,所以,那就还是假设一条综合泊松曲线得了,如下图黑线所示:
这就明显了,随着代码行的增加,总会有那么个时候软件的效率开始降低从而我们所希望衡量的有效生产率开始降低。其实想个极端的例子:A同学完成一个功能用了一整天,但他这一整天中其实只写了50行代码,但算法恰当,逻辑清晰,结构合理,可读性强;B同学也用一天时间完成同样功能,但洋洋洒洒写了500行——因为重复了若干遍本可以抽象出来的函数。B同学的生产率是A同学的10倍,但B同学写的却是烂程序(当然,也许B同学也不是故意的)。如果简单以这样的生产率作为激励标准,那么显然对于A同学是不公平的。而我们希望更多的像A同学这样的程序员。
可惜的是,那个代表最佳代码行的G点真的很难找到啊。
不知道电池危害的人已经很少了,很多人也懂得把废电池扔进专门的电池回收箱。但废旧节能灯的危害恐怕还是有很多人不清楚。
一只节能灯平均含汞0.5毫克,如果这点汞浸入地下,就会造成大约90-180吨水的污染。汞污染的水被饮用后会产生慢性中毒,严重影响人类健康,那就是让日本在60年代深受其害的水俣病。
2008年中国开始在全国范围内大力推广节能灯,而一般节能灯就是两年多寿命。我自己数了下,2007年装修的家里,共64只灯泡,只有4只是传统白炽灯,节能灯达到60只。这几年也坏掉了十来只吧,以前都是随手扔进垃圾桶。据估算中国节能灯用量在14亿只左右,仅2006年国内报废的含汞照明电器折合40瓦标准荧光灯就达10亿只,由于处置不当而释放到环境中的汞量达70-80吨。这个数字随着国家节能战略的推进还会加速上升。
可悲的是,在国家推广节能灯的战略文件里根本找不到对其危害的描述,更没有提及如何建立完善的回收机制。不顾环境的发展,最终将摧毁我们自己脚下的土壤和地下水。美、日、欧都有非常完善的节能灯回收渠道和机制。
在网上找寻良久,终于发现有厂家在西区花园设立了一个节能灯回收箱,改天可以将家里收集的废旧节能灯拿到西区花园一并处理了。
强烈呼吁国家重视这个问题,立即着手解决。也希望了解到这种危害的朋友们不要随意丢弃废旧节能灯,收集起来,等待正规的回收渠道和机会。
如果没有网络、没有微博,蒙牛毒牛奶事件不会升温如此之快。针对蒙牛每一次官方发言,网民都能一针见血直指其要害。在这系列蒙牛同网民的博弈中,蒙牛已经完全处于下风。有网友已经不完全总结了蒙牛之前8次出问题,以及蒙牛在每次问题面前的抵赖、推脱、拒绝和打压之事实。更多人加入到拒买蒙牛的活动中。而这个活动,几乎是没有个别发起人的网络集体自发行动。这是我观察互联网在中国普及以来非常重大的一个事件。
互联网的应用,从被动式看新闻,到互动式购物、网游,再到主动式社交,让普通人的声音能够通过网络传播。博客和微博的流行,尤其是微博因为其消息发布的及时性和大量用户对特定主题的粘性,使得民众更容易获知信息和发表意见,尤其是获知对等个体的独立意见而非官方喉舌。个体被认同,思想与言论的独立和交流,正是民主的前提。在这个意义上,微博的如此流行恰恰是因为我们太渴望民主,而微博这个平台在一定程度上提供了类民主环境。当然这种民主还是相当的脆弱,很容易被那只掌控一切的大手轻易掐断。
当越来越多人在微博评论中声称拒买蒙牛,这其实意味着民运已经产生。我们期盼已久的民主化运动,戏剧性地由一家牛奶企业引发了,而且是以和平的方式,不散步、不打砸、不自焚开始了,且不需政府动用维稳资源。现实中我们当然可以选择其它品牌的牛奶,尽管谁也无法保证其它牛奶没有问题,但你为什么一定要买有问题的牛奶呢?所以这场民运的成功是有现实可能的。虽然可以想象蒙牛作为强势的代表,仍然会借助对传统媒体的影响力进行公关、影响舆论,但至少,以我善意的猜测它暂时还无法影响微博的蔓延和微博评论的自由。对最终结果,我们拭目以待,但我已正告家人,从此不买蒙牛。
本月初统计中国微博用户已突破三亿,这是否意味着绝大部分中国家庭都有人用微博?那么当微博上的舆论形成一种合力,是否意味着这种合力就是一场全民共识?当因全民共识而产生的全民行动,不就是民运了吗?民运,需要的正是无数微力量的汇集。
当韩寒悲观地发表“谈革命”、“说民主”、“要自由”时,我真希望这场由蒙牛引发的网络民运能够成为中国民主化进程的一个里程碑。至少可以先从非政治领域开始。在这个意义上,我们还要感谢蒙牛杀身成仁呢——如果,它真的死去。
这两天关注Follow5,今天上去居然看到这个:
事实上m.follow5.com还是无法登录,显示”502 Bad Gateway”。昨天还收到Follow5发给我的邮件,称API服务已经关闭,没有任何原因。难怪不能通过它同步其它微博了。
对于Follow5暂停运营一事,有分析人士认为,微博市场逐渐只剩下少数几家运营商,用户也越来越选择某一两家微博服务使用,这使得Follow5失去了赖以生存的土壤,转型或关闭成为必然。顺手到Alexa查了下,不出所料,最大的两家正是新浪和腾讯,而新浪几乎一家独大:
去年7月我构建自己的微博同步网时,还是微博网站百花齐放、欣欣向荣的姿态:
时隔一年多,垄断就已形成。其实这一年多,自己除了新浪微博,很少使用“做啥”,“嘀咕”等其它微博,包括Follow5。偶尔上去看看也是人烟稀少,语者寥寥。微博网站的生存依赖大量的用户,失去用户的微博网站的确是死路一条。可惜了Follow5作为中转的技术优势。再次说明,技术再牛,没有用户,还是死。
于是大刀阔斧精简自己的同步网,重新定义如下:
乔布斯大概没有想到,他死后会成为世界上人口最多的中国人民的偶像。没有哪个国家的人民,像中国人一样疯狂崇拜乔布斯和他曾经的一言一行,哪怕只言片语。这是个很有趣的现象。
中国历来是个喜欢个人崇拜的国度,历来是个喜欢搞个人崇拜的国度,这种意识根深蒂固在大多数人的脑子里,大概也是五千年封建制度和百年近代史的必然结果。人云亦云与跟风附庸基本就是我们的文化特征。我们缺乏独立思考,却崇尚乔布斯的创新思想与特立独行,这似乎颇为讽刺,细想却是必然。也许正是因为中国人缺乏它,所以崇拜它。美国人除了乔布斯,还有比尔盖茨,还有马克扎克伯格,还有拉里佩奇(参看是什么造就了这些改变世界的年轻天才?)。所以美国人不稀奇他们有个乔布斯,因为他们知道乔布斯不是偶然。他们知道重要的不是一个乔布斯,而是创造乔布斯的那个开放的社会、鼓励创新的教育体系、保护知识产权的健全法制和全民意识。有一片肥沃的土壤,长出优秀的作物就不是奇迹。很难想象在一个应试教育的国度,能够产生大量独立思考、创新思维的学子。很难想象在一个全民视盗版为有理的国度,能够保护创新不被盗窃、不被扼杀。我们所谓的互联网巨头们,又有多少创新是来自于自己?除了“拷贝”,还有什么?“做大做强”,似乎是中国企业家们唯一的经营目标。不记得谁说过,现在的中国,除了“大”,什么都没有。真是一语中的。
乔布斯在斯坦福大学的演讲固然精彩,但是那样流行,其实也正是因为它出自乔布斯之口。何况,还是在他死后才变得流行。那个关于勇气、目的与生命的故事,在Christopher McCandless身上不是更震撼吗?那个阐述死亡的故事,苏格拉底、居里夫人和切格瓦拉更生动有力。至于创业的艰辛,世界上的例子更是数不胜数。我完全没有贬低乔布斯演说的含义,相反,我是觉得我们太多人没有用心去聆听这样的演说,没有去领会那些精神。还是那句话,在这个物欲横流的拜金拜权社会,我们还剩下什么“精神”?
最重要的是,我们说的人多,做的人少。包括我自己。
——反思于港宏汽车保养休息室
十多年前,切·格瓦拉对于我只是T恤、茶杯和酒吧墙上的那个著名的头戴贝雷帽,一脸大胡子,眼神坚定、凝视远方的肖像和流行元素。十多年过去了,多少明星陨落,多少曾经的风云人物烟消云散,又有多少现在还风云着的人物却注定在另一个十多年后烟消云散。但我对切·格瓦拉的崇拜却与日俱增。这个遥远的阿根廷人,是什么魔力让他自己成为一个世界永恒的符号?成为我唯一的崇拜?
不想赘述他的战斗经历,他的战斗经历其实并不比我们共和国的每一位开国元帅精彩。他的游击战思想,比起毛泽东的游击战思想,也是小巫见大巫。他在古巴政府的任职功绩,也短暂而非伟大。但是,这个世界上没有人,能够像他那样对理想执着追求,放弃高官厚禄,哪怕牺牲生命。他生在阿根廷,却为了古巴革命而战斗。古巴革命成功了,做了五年高官,却又投入非洲、美洲大陆其它国家的解放运动中,最终牺牲在玻利维亚。也许正是他的牺牲,成就了他在精神上的最高境界,成就这位无产阶级的悲情英雄,让他成为革命的理想主义的最佳化身。多少所谓的“伟人”,在他面前都不值一提。我们这些成天追求物欲的芸芸众生,在他面前更是渺小卑微。
切牺牲时39岁,但在23岁时就同29岁的阿尔贝托·格兰纳多骑一辆“诺顿500”摩托车从布宜诺斯艾利斯出发,穿越一万三千多公里南美大陆,途经智利、秘鲁、哥伦比亚、委内瑞拉。《摩托日记》正是描写他们的这段旅途。正是这段起因于冲动与叛逆的旅途,却让格瓦拉对贫穷、不公、被鱼肉的美洲大陆和人民产生了深深的同情,内心埋下了革命的火种。当他在24岁生日夜里毅然决然跳下那条宽阔的没人游过的河(那条河,真的好宽),只是为了去同河对面的麻风病人们一同庆生,我确实被震撼了。这才叫大无畏精神!
一同将我震撼的还有片尾那些定格的黑白照片风格的具有浓郁普利策新闻奖特点的特写,贴上几张截图:
也许,只有像格瓦拉的旅行一样——简单的行囊,身无分文,永不回头的勇气和决心,才能发现生命中真正值得追求的理想。而青春渐逝的我们,还有那样的勇气和决心吗?
很喜欢片尾这首西班牙歌曲,《Al Otro Lado Del Rio》(在河彼岸,by Jorge Drexle):
Clavo mi remo en el agua
Llevo tu remo en el mio.
我将桨划入水中将你的桨握在手中。
Creo que he vista una luz
al otro lado del rio.
我相信我看到那道光芒就在河的彼岸。
El dia le ira pudiendo
poco a poco al frio.
这天对他来说将一点一点变冷。
Creo que he vista una luz
al otro lado del rio.
我相信我看到那道光芒
就在河的彼岸。
Sobre todo, creo que
no todo esta perdido.
最重要的是我深信我尚未失去所有。
Tanta lagrima, tanta lagrima y yo,
soy yn vaso vacio……
许多泪、我流过的许多泪足够装满一樽空玻璃杯
Oigo una voz que me llama,
casi un suspir
我听到一个声音呼唤著我像是声叹息:
Rema, rema, rema-a Rema, rema, rema-a
划、划、向前划去
En esta orilla del mundo
lo que nos es presa es baldio.
去那未被禁锢的世界边境,发现新大陆。
Creo que he visto una luz
al otro lado del rio.
我相信我看到那道光芒
就在河的彼岸。
Yo, muy serio, voy remando,
y muy adentro, sonrio.
我努力的划过去越来越深入,我笑著。
Creo que he visto una luz
al otro lado del rio.
我相信我看到那道光芒就在河的彼岸。