同情心何其可贵

有人在我谈冰雹的文章后面回复,教育我说——


保险制度可以帮助这些果农。你在这里愤世嫉俗,不如义务去农村义务宣传好的制度。


天真极了,显然这位朋友没有真正了解农村的状况。制度不是本文要讨论的话题,在这里引述评论,只是想特别澄清一下,我并非愤青,也不愤世嫉俗。看到打冰雹,想起乡中受灾的果农,是出于人人皆有的同情心。倘同情一件事物就要立马去帮助,恐怕忙也忙死了。你只能拣自己能帮的帮,做好本分工作,该缴税缴税,应该是最基本能帮的了吧?


其实可怕的不是不帮助,而是阻挠别人帮助。这两天在我所服务的网站,就发生了这样的事情。


有位叫做王俊的程序员,患了重病,需要换骨髓。幸好他妹妹配型合适、不必守株待兔,不幸的是他和许多其他程序员一样没多少钱。几个网站(包括CSDN)合起来,为王俊办一个在线捐款活动,希望网友能表示一点爱心。多数网友都表现出悲天悯人的同情心,也有少数人的发言,令人齿冷。


有人说——


我也是个程序员,如果是我病了,向CSDN求救,CSDN会甩我吗?


有人说——


妈的,CSDN真恶心,自已掏几十万不得了,靠。


还有人说——


CSDN做为一个商业网站,从程序员人身人已经挣了足够多的钱,蒋先生也是程序员出身,为什么就不能掏钱来挽救一个程序员的生命呢。


起初我不理睬,后来憋不住,还是回复了一条(说明还是愤青?)。本文要说的话,大概这条评论可以包括了——


xxx:作为程序员的你得了重病,CSDN一样会为你组织捐款。希望所有程序员朋友都健康。
  
xxx:你怎么知道CSDN不会捐款?再,组织为程序员兄弟捐款,是一件令人恶心的事情吗?持这种言论者真是令人寒心。
  
xxx:有什么证据可以说明CSDN“从程序员身上挣了足够多的钱”?CSDN到去年年底才盈亏持平,每天都在为生存和发展苦苦拼搏。实话说,CSDN的确无法一下子拿出这么多钱。
  
To 一切怀疑论阴谋论者:同情是人类的天性,也是社会道德里面最道德的部分之一。如果您对捐款没有兴趣,置之不理就好了,何必出偏激之语。在您慷慨激昂粪土当年万户侯回复评论的时候,一位程序员兄弟,正在病床上呻吟。他是活的生命,如果没有足够的医疗费用,这个生命很快将不存在。
  
  或许你因为囊中羞涩无法捐款,至少,祝福一下王俊。如果你连祝福都不愿意,至少,别说让人锥心的话。当事人若是知道,情何以堪,情何以堪!


此记。

南人·北地·片语(十)

允许不同价值观存在,不等于鼓励杀人。不同价值观并存的前提,是互不干涉、互不攻击、互不伤害。

漫谈语言(一,可能没有二)

Keso认为,在我眼里,一切皆语言,至少是一切信息载体皆语言。就为这句话,我也是要引他为知己的。


或者我还想更进一步地提出,一切不止是语言,而是各种各样语言所代表的宇宙间唯一的所谓“道”——这可不是玄学,不过留到以后再谈吧。这里我只想聊一下语言,真正的语言,即人类创造并赖以交流的那种信息载体。慢,慢,“语言”这个题目本身已经够大了,大到需要有许多种科学学科去研究它。我们不妨再集中一下话题:1)普通话与方言  2)世界语。


方言与普通话


如果神话是可靠的,那么,人类在神话时代都是说同一种语言。天上的神因为害怕巴别塔戳破云端,令人们说不同的语言,使他们不能交流和协作,造塔之举随着方言产生而被荒废。


这个故事的寓意在于,说同一种语言,是共同进行同一项事业的必要保证。所以,它常为许多语言工作者引为论据,试图证明普通话是多么的重要。当然让人们能够沟通,说同一种话是重要的,但这并不能成为普通话必须征服方言的理由。


普通话实际上是一种人工语言,并非自然产生。没有谁的母语是普通话。能说标准普通话的人在整个中国社会中,是极少数。北京人不要上火,事实确乎如此。最接近普通话的不是北京方言,而是东北某地方言。另一个证据是,一半以上的北京人会将“伪劣”的“劣”字发作“lue”音(正确的读音是lie);也有部分北京人,会将“新闻”的“闻”字发作“ven”音(正确的读音是wen,汉语普通话方案中v只用于外来语)。从“说该语言者人数不能涵盖全国范围”这个意义上说,普通话也是一种方言,而且是一种没有文化积淀和群众基础的方言。它之所以能通行全国,实在是因为政策推行的关系。


考之古代,早在汉时即有“雅言”一说。雅言者,汉代普通话也。我们有理由相信它接近当时的中原一带方言,近水楼台先得月的道理,古今一也。英国也以伦敦南部音为“标准英语”。普通话的存在有其合理性。


但始终要认识到,普通话是一种没有群众基础的东西。它是为了各地操不同方言的人互相沟通而存在,所以自身不能带有任何一个地方的地域、人文特色。每每听到电视台支持人满口北方方言中的词儿,我就犯嘀咕:“普通话考试怎么过的。”后来我参加了一次普通话考试就明白他们怎么过的了——盖考官均北方人也,北方人说北方话,理所当然认为自己说的就是标准普通话,其实多半不然。只要你的发音出现任何与拼音方案和词典规定的习惯性不同之处,或是出现任何词典中未收录的词,你的普通话就是不标准的。北方人在嘲笑南方人不会发翘舌音(对,是翘舌音,“卷舌音”的说法不正确)的时候,往往忘记了自己的翘舌音已经太过。


我常常奉劝朋友,看香港电影一定要听广东白话(不标准的说法叫做“粤语”,殊不知粤地有广州、潮汕、客家、雷州等多种方言)音轨,惜乎响应者寥寥。不受劝的人说,这会影响他们的理解。我反问:何以欣赏英语片、法语片时,足下还非原声带字幕版不看呢?答者王顾左右而言他。方言具有不可替代的特殊性,某些时候甚至应当当作另外一种语言来看待,特别是当方言本身承载了丰富的信息量时(如电影)更是如此。


举周星驰的电影为例,能听懂广东白话的人,一般都会弃所谓“国语版”(“国语”,又是一个不标准的词)而不顾,直奔白话版本。这不是广东沙文主义,我这个非广东人,一样对白话版有特殊爱好。原因很简单,翻译后的版本,已经将原版对白所承载的信息量丢失泰半,还有什么可看的——除非是默片。白话中本地化极强的词语,一经翻译就光华全失,此处不再举例。退一万零一步说,即便白话和普通话能字字对应,它们在音韵上给人的感受也是不一样的。白话有9调(一说6调),普通话只有4调;白话有入声,普通话无入声……这些语音上的不同,也造成翻译过程中的信息丢失。


翻译过程中,也会造成信息增加的问题。以一句星爷台词为例:一众“粉丝”奉为经典的“我走先”,文本本身实际上在原语里毫无可笑之处,因为每一个白话方言区的人,都是这样说话。台湾人别具匠心保留非“国语标准”的用法,反而制造了新的笑料。一减一增,登时我们就明白了,原来广东人和其他地方人,看的不是同一个周星驰。方言鲜活、地方性强、表现力十足,带着鄙视的态度去看待,又怎么能理解和欣赏它呢?


话扯远了。到底普通话推广后,地方话还有没有必要存在?问问奇志、大兵,问问赵本山,问问黄俊英,问问周星驰,问问李伯清。不,他们都不用问,问问广大人民群众就可以了。


世界语


自然语言是自然产生的语言,人工语言是人为创造的语言。普通话只能说是一种半人工语言,因为它毕竟是本于汉语中的北方方言。


最为人们所知的人工语言,是世界语。这玩意当年在中国流行,完全要拜左倾文艺家的所赐。相信世界大同的文艺家们,以为统一语言是统一思想的基础,所以大力推行世界语。然而人民群众似乎并不买帐,搞这个的人可真不能算多。在世界范围内,世界语也是一种失败的人工语言。


世界语的失败,原因在于:


1)它是一种生造的语言,没有文化积淀和群众基础,“没有人的母语是世界语”。
2)它是一种规范的语言,从单词发音规则到语法,都太规范,缺乏灵活性和缺憾美。
3)它是一种缺乏表现力的语言,没有办法容纳民族文化中鲜活的东西。不信?你用世界语翻译“这人特面”来听听;或者,文一些,“童山濯濯”。
4)它是一种忽视其他文化的语言,从发音、书写、词法到句法,都是印欧语系那一套。语言之间孰优孰劣并不必太在意,但完全没有顾及汉藏和其他语系的习惯,就把潜在用户给砍杀了一大半啦。


世界语,如果不绝迹,将来也必落到拉丁文的境地:用于科学定义和描述。盖科学道理是无需形容、万国皆同的东西,正和世界语的规范性和定义性相符合。


以上并非语言学论文,偶有所感,信笔由缰而已,看官一笑可也。

无题(录旧作)

梦里梦外
思念成河


十一月,河水泛滥
我是那条小船
向往彼岸
彼岸一株芊草
风中独立的芊草


河水东流
船顺水老去


只梦见芊草
努力挥她的手臂

网站沉没

1、互联网2.0,并不止是“编辑方式改变”这么简单。


2、网络媒体的特性在于信息易于大量生产、复制和传播。未来网络媒体特性还要加一条:大量冗余。这不光是前三条的附属品,它符合基于P2P的分布式知识网络的存储传播特性。


3、基于P2P的知识网络,将对内容型网站实施沉重打击。无论原创式、拷贝式、精编式的内容站点,都会受其影响。


4、Blog是“去中心化”过程中的一个阶段,但并非终极形式。从技术的角度来看,Blog内容本身将来可能也是分布式存储的。怎么删除?不知道,我只是提出一个预想。或者,到那时,就不用Blog了。


5、每台电脑(或其他设备)上将有一个P2P终端。这个终端是分布式网络中的一个节点。它是搜索引擎、是浏览器、是IM、是SNS,或者也是其他一些应用。由所有节点加起来的整个分布式网络负责信息的存储和传递。


6、信息将通过“漂流瓶”的模式传播。一种是主动式,一种是反馈式。主动式的例子:发表一篇文章、一条新闻;反馈式的例子:问一个问题。


7、你的P2P节点将“主动抓住”流经本节点的、你可能关心的内容,例如,你朋友Blog的一篇新文章。通过新用户节点的信息量最大,因为它没有经过筛选。用得越久,阅读兴趣习惯就越被体现到过滤机制当中。如果你接受了一条信息,那么也有义务向其他节点传递这条信息。


8、你的问题(或搜索请求)将被发送到其他节点,并得到反馈。反馈可能是人工的,也有可能是机器之间的握手。


9、你可以发表一条信息(新闻?Blog?一段视频?一张相片?),该信息会在本节点存储,并向其他节点发送,当它被某个其他节点“抓住”时,也就在该节点上创建了一个冗余备份,该节点成为信息提供者。


10、信息传递也许是多播的,但绝对不是广播的。简单的例子:源节点只随机向m个节点发送信息,这3个节点又分别向n个节点发送信息;为了保证请求不以几何级数扩张,在各个层级上,一些信息请求将依据某种规则“自动死亡”。信息回馈是直通的,即直接反馈给源头。


11、基于P2P的分布式知识网络形成之日,就是内容型站点的沉没之时。去中心化的结果,就是自我中心化。你的P2P节点背后,是整个知识网络的存储。你可以按照自己的爱好、习惯和方式去组织内容,供自己阅读或是编辑后再传递出去。


12、信用、评价和身份认证机制在该网络中至关重要。信用度高的用户,在网络中享有更高的权限。权限可能包括多播数量、在其他节点提取信息时的优先权等。

论“社会网络软件(SNS)”迹近伪命题

仿“刘韧体”


1、我所见过的多数号称SNS的东西(特别是国内的),都以Web为表现形式来提供服务,所以它们应该被称之为Website或是Application,而非Software。当然你可以抬杠说网站也要运行服务器端软件——我不作反驳。


2、从BBS时代起(甚至从email时代起),网络应用就是为了连接人(信息节点)而存在。就所谓“六度理论”所本的“人际关系传递”而言,也并不只适用于现今各种自认的“社会网络软件”。我每天在MSN Messenger上介绍朋友给别人认识,同时也接受朋友的介绍;在QQ上我参加了许多个群;我在网上认识的朋友基本来自于论坛……它们是不是SNS呢?


3、互联网本身即一个大型的关系网络。如果有SNS,那么,SNS就是Internet。Internet的伟大在于,它不仅连接人,还连接机器。在互联网上,机器比人重要。


4、除了互联网,人还有许多方式去拓展和维护人际关系;对于一种方式,人往往只能接受少数(最好是单一)入口。当你拥有3部以上电话(尤其是每个电话的号码面向不同圈子的人时),就会穷于应付,同理,当你参加了5个以上所谓“SNS”,也会焦头烂额。


5、通讯簿是对人际关系的最好体现。一本保持有效的手写通讯簿,比任何所谓“SNS”都来得有价值。所以我认为基于“通讯簿自动更新”概念的Plaxo,比多数所谓“SNS”高明得多。


6、关键问题不是“目的性”。以做成生意的目的性而论,没有任何一个所谓“以商务为目的SNS”比混乱的阿拉伯集市有效率。


7、“信任”很要紧。所谓“SNS”把拓展人际关系作为主要功能,忽视了在关系传递中的信任流失问题。为什么安南多半不会搭理经过层层介绍才认识他的我?因为在这层层介绍过程中,我的可信度不断损耗,直至丧失价值。朋友的朋友的朋友的朋友的朋友求你借两千块,借还是不借?我反正是不借的。


8、故,最重要的是对现有关系的维护,即保持我在联系人圈中的可信度。今天邀请朋友注册一个SNS,明天注册另一个,我怀疑自己在朋友中的可信度,是否能不降反升。

我要社会,也要网络,但不要社会网络

社会网络的拥趸们,奉“六度分隔”理论为圭臬。每当看到成群结队上访的下层人民,我总是怀疑六度理论的真伪——被土皇帝欺压的平民,要经由几层联系,才能找到那位“朝中贵人”呢?


我相信社会关系是一种网状结构,不过这张网可不是用简单的拓扑理论可以模拟出来的。或许你与安南之间真的只隔着几个人,不过这几个人是否愿意为你传递消息,就很难说了。理由很简单,社会关系网中的人际沟通,并不是双向对等的。


遗憾的是,一群又一群热衷于建立社会网络应用的创业者,似乎对这个显而易见的事实视若无睹。我猜他们中的多数恐怕都是热血青年,而且是那种不谙世事的热血青年,否则怎么会那样轻易地相信网络拓扑能模拟社会关系呢?


人要在互联网上建立自己的关系圈子,不外两种方式:曰转移,曰拓展。现有社会网络应用在用户发展上,也多半不离这两种方法。在这个过程中,甚至出现了类似sms.ac那种迹近无赖的“病毒式营销”。我经常会试着使用一些社会网络应用,每次当它们询问我“是否上传通讯簿”或“是否邀请你通讯簿中的联系人加入”时,我总是避之唯恐不及地关闭浏览器窗口。我不是被服务商拿走名单,怕的是名单上的人太容易地接上头。


不,不,我不是那种不肯分享友情的人。我极愿意介绍朋友之间互相认识,不过那应该是在我斟酌整个关系圈状况后的慎重举动。也许,在我认识的人里面,有两位是你死我活不共戴天的情敌,我可不想让他们中的任何一位知道我和另外一位时有饭局。对于商务人士情况也许会更糟糕——通过自动共享朋友的手法去拓展关系圈,初衷是好的,手段太呆板。


每天都收到社会网络应用站点发来的邀请函。嗯,好像很多人都注册了。没错,我愿意在网络上继续保持我的关系圈,但前提是成本不要太高。我不会为了维护朋友圈子,不停地注册登录各种社会网络站点。既然我可以打电话、发邮件找到他们,实在想不出有什么理由非要登录一个站点然后留言之类。


我在五年之前就认定,互联网本身一定会成为一个独立社会,然后再与传统社会合而为一。这需要时间,和所谓“杀手级应用”的推动。我不认为现存的两大类社会网络应用(“找朋友”和“寻找商务机会”)是“杀手级应用”,它们把社会关系想得太简单了。


真正能让社会关系在网上完整存在的应用,几乎是一种梦想。在做梦之前,或许能出现一种务实的应用,它不急于把圈子都搬上网,而只是一种工具,帮助我维护好它。Plaxo?有点像,但应该更好。

或者AJAX只是一碗隔夜的冷饭

本文不是Web技术科普读物,所以不会解释什么叫做AJAX。有兴趣的读者可以直接参见Jesse James Garrett的论文A New Approach to Web Applications


有人说AJAX不过是炒冷饭。诚然,HTTPRequest、XML和JavaScript,在以狗记年的互联网时代,已经是老得不能再老的老技术。讽刺意味正产生于此——在这个人人标榜创新的时代,为什么总是看到老技术改头换面青春重现?先有RSS,后见AJAX,都是典型的第二春牌新瓶装旧酒,莫非我们已经失去了创造力不成……


我想,冷饭之所以为人所喜爱,自然有其可爱之处。人们之所以先前不喜欢它,多半是时间地点不恰当使然。例如RSS,在信息源集中的年代,根本就是多余的信息流动渠道,只有等到Blog大行其道、读者不耐打开和刷新许多个页面的烦恼时,才陡然成为不可缺少的信息聚合工具。以技术论,0.91、1.0和2.0三个版本,实在并无多少优劣之分,可见RSS从诞生起,自身未有长足进步,令其声名远扬者,时势而已。


AJAX也是如此。在信息不再匮乏、甚至于泛滥时,人们不免想要享受更舒服的阅读和交互方式,如同张天翼先生笔下的大林,发达之后连吃饭都懒得咀嚼,要让人给抬下巴。其实所谓带宽,早已不成问题,C/S之间几个round-trip所耗不过尔尔;只有人追求感官舒服的贪欲是无限的。


人们不愿意忍受浏览器页面刷新,人们喜欢炫和酷的效果,AJAX因而盛行。能让用户体验更上层楼,当然这是好事。不过,由于断开式连接是传统Web界面的先天不足,我们不得不说AJAX顶多是块膏药,膏药能治好天生的残疾吗?把数据一股脑趸到客户端解析,并不能解决所有问题,君岂不闻:货到地头死。


回过头来说,AJAX的借尸还魂毕竟还是应时势而作,绝非一无是处。鸡蛋炒饭要好吃,原料须选用隔夜冷饭;隔不隔夜不要紧,要紧的是在下锅那一刻,唯有那碗冷饭是和鸡蛋相配的。可惜昨天洗米煮饭那位,多半已放弃专利权,不得不任由大家你也炒鸡蛋、我也炒鸡蛋,皆大欢喜去也。


所以,如果你刚好发明一种技术,如果该技术可望在数年之内无人理会,再如果你坚信自己活得足够长,记得一定不要放弃对它的权利,一直等到有人要吃鸡蛋炒饭……

“博客”还是“被博”?这是一个问题

据说某博客中国网要改域名啦,新的域名似乎是叫做bokee。


这个名字怎么看怎么别扭。说它是汉语拼音吧,好像只有“博客鹅”或是“博客饿”的解法,既然在网上写字儿的都起码吃得饱饭,且鹅这种一直被侮蔑为低IQ的动物并不适于尊称,可见这两种说法都是不对的了。


英文,一定是英文!看起来有些面熟……有点儿像Yahoo!,又有点儿像Google,总之是那种双音节的一般词典里找不着的但不妨幻想将来有可能被收入词典的念起来有点儿滑稽的词。可惜发明bokee这个词的仁兄显然对语言/文字不敏感,该仁兄至少犯了两个毛病:


1、这个词尾音是[i:],典型的前舌音,口型扁平,读起来小里小气,离琅琅上口的境界远得很;
2、这个词的后缀,-ee,一般用来指局势双方较被动的一方,例如employer(雇主)/employee(雇员)、tester(主考)/testee(考生)、trainer(驯兽师)/trainee(学员)等等;不知道被称为bokee的,是网站本身呢,还是网站的用户?


我宁肯相信bokee是指人,写“博客”的“博客”(别扭死了)。嗯,如果是这样,那谁又是bokee们的boker呢?“bokee”们倒真该斟酌一下,您到底是在“博客”呢,还是“被博客了一把”。博客还是被博,的确是个问题。


突然想起,blogger.com变成bloggee.com是啥感觉。一乐,再一乐。

TrackBack Spam:一颗老鼠屎真的能坏一锅汤

最近DoNews Blog又时常出现不稳定的状况。Keso告诉我,怀疑是trackback spam在捣乱,因为每次不稳定,随后都会看到一大堆垃圾trackback。

嗯,关于trackback spam,早有听闻、亦已目见,只是从来没觉得它会对系统运行产生什么影响。可巧今天DoNews Blog突然又出问题,用性能查看器一检查,每秒访问数剧增,很多请求不得不排队,请求队列排满后,就不断被弹出、拒绝服务。于是——大家熟悉的黄屏错误就出现了。

清空Cache、清理缓存池、重启IIS、重启服务器都没用,被拒绝的请求数直线上升。这时候,我想起了Keso的怀疑。查询一下数据库,嗬,短短时间内,成百上千条trackback spam出现在眼前。再仔细查看,大概是这么几种:卖伟哥的、开赌场的、以及放高利贷的。嗯,域名五花八门,都围绕pharmercy、gambling、poker、loans打转转。查IP,发现它们来自于不超过4个站点。暂时停止trackback功能后,blog恢复正常。

然后我开始上网搜trackback spam,查询结果满满当当2,450,000项。嗯,整个blog世界,都在为这种垃圾烦恼呢!

有一个名为MT-Blacklist/Comment Spam Clearinghouse的站点,专门研究如何阻止trackback spam。虽然它是针对MT系统的,不过对改造.Text也颇有帮助。我想说的不是技术问题,而是其中一篇文章。这篇文章列出了根据内容判断一条trackback是否spam的正则表达式。一看之下,不禁笑出声来。原来,让老外烦恼的那些trackback spam,其中一些也就是让DoNews Blog不正常的那些。

看看URL匹配黑名单——

URLPattern Action
casino Block
penis Block
viagra Block
poker Block
pills Block
hentai Block
zoo Moderate
teen Moderate
incest Block
ambien\b Block
blackjack Block

有趣吧?hentai、zoo、teen和incest似乎在DoNews Blog没有见过,其他词都是老熟人了。黄赌毒,此trackback spam之三要义也。从国外blogger的反馈来看,trackback spam很多来自少数几个网站。Trackback这么好的理念和实现,就这样被无耻地利用了。几颗老鼠屎,确乎是可以坏一锅汤的。最怕有一天,中国人突然学会了利用trackback spam……