2006-12-20

声明

关于前几日转的“女权主义”的文章,仅仅为搜罗资料,并不代表本人同意文章观点,本人旨在学习研究两性之间更多的哲学、社会、政治的关系。

女权主义不是两性战争

2006年12月02日 08:15:05  来源:环球时报

●女权主义运动是世界上最有影响力、最成功的运动之一

●优胜劣汰的人才竞争,一方面为女性提供了机会,同时也引发了新的男女不平等问题

●女权主义激进派的观点被媒体夸张和传播,使许多人误认为,女权运动就是同性恋上街、妓女游行等

●在不少人看来,女性主义是性别斗争的代名词,即女性将男性打倒,这是对女性主义本意的歪曲

编者按 最近,女权话题备受关注,本月29日恰逢中国第一个社会性别与全球问题研究中心在北京外国语大学成立。本报邀请了中国社会科学院社会学研究所李银河研究员、中国社会科学院世界经济与政治研究所李东燕研究员、上海外国语大学国际关系与外交事务研究院胡传荣博士、北京外国语大学国际关系学院李英桃博士就此话题,进行了饶有趣味的讨论。

有多少女权问题解决了

胡传荣:最近一年,女性频频亮相世界政治舞台,默克尔当选德国有史以来的第一位女总理;利比里亚出了非洲大陆的首位女总统;大男子主义根深蒂固的韩国出现了女总理,而刚刚结束不久的美国中期选举也产生了众议院的第一位女议长。由此,许多人惊呼女权主义运动到了新高潮,女性掌控的世界即将到来了。

李英桃:经历了19世纪中叶争夺选举权、教育权为主要目标和20世纪中叶消除两性差别为基调的两次女权主义浪潮之后,女权运动发展再次出现了“多米诺骨牌效应”。不过,与两次浪潮相比,当前的国际女权运动虽然不是那么轰轰烈烈、不那么具有震撼力,但已经在前人艰苦奋斗的基础上将运动推向纵深处,在“润物细无声”中实现了先辈们可能根本无法预想到的成果。从宏观层面上看,世界上许多国家的妇女在政治、经济、文化、社会、婚姻家庭等各方面的权利,好像都在一定程度上得到了法律的保障,并逐步在实践中得到基本解决。但在微观层面上,还有一些亟待解决的问题,比如,妇女贫困、识字率、暴力侵犯等等。

李银河:从历史的进程上看,女权主义运动是世界上最有影响力、最成功的运动之一。以前,妇女仅仅只是为了追求一些平等的、应有的地位,比如,选举权、教育平等、社会尊重程度等,但现在女权主义已成为全球和平、生态运动的中心,女性组织以合作和分享为基础。女性创造了关于自身、人性和人类经验的另一种定义。另外,当代女权主义思潮也向所有现存的范畴提出了全面的质疑,包括知识基础、话语体系、价值体系等等。以妓女为例,在以前,男女老少都唾弃妓女,但现在越来越多国家改用了“性工作者”一词,不少国家也成立了相关组织和制定措施,保护性工作者,包括前段时间,我国东北某市为防治艾滋病,为性工作者举办讲座,并向她们免费发放了安全套。很多国家已经意识到,卖淫问题的本质是贫穷,不能只靠严厉的法律来一举解决,加强道德教育,通过长期的潜移默化来解决才是关键所在。这种对传统价值体系的质疑同样出现在许多与性别相关的问题上,比如,一夜情、同性恋等等。因此,整体感觉,女权主义的发展已进入了一个又一个从未涉足过的领域。

李英桃:当前的女权运动呈现三个方面的问题,很值得我们关注,一是女权运动进入了多样性、多元化的时代,允许各国妇女运动走不同的发展道路。二是经济发展与妇女地位的提高并不总是同步的。日、韩等经济相对发达国家的妇女地位并不尽如人意,而在纳米比亚这样经济相对落后的国家,妇女参政比例却相对较高。三是不能仅看妇女地位绝对值的提高,还要认清妇女相对于男性的地位问题。比如,北欧等国女性从政比例较高,但这些国家许多男性并不想从政,而是去从事更赚钱、更有地位的工作了。

到底什么在阻碍女权运动的发展

李东燕:女权主义也有另一面,让我先讲两件事情:一是去年哈佛校长萨默斯因其“女性很难成为科学家”的言论被迫辞职。可见,在某种程度上,女权问题似乎与主权问题、种族问题、人权问题一样,成为一个非常敏感的道德价值问题,而不是一个单纯的言论自由或者可以进行研究和讨论的问题。从国家到国际组织,谁都不会对妇女争取平等权利的活动表示公开反对,即便那些有反对意见的人,大概也抱着一种“好男不和女斗”的态度。

第二件事是,在2004年美国总统大选中,民主党候选人克里的夫人是一位成功的职业女性,当她对曾做过小学教师和图书馆管理员工作的布什夫人表示不屑的态度后,立即引起轩然大波,广大选民认为她歧视家庭妇女。尽管她一再道歉,但连民主党也承认,克里夫人的态度对其丈夫的选战造成了无法弥补的损害。这使我们看到,如今,人们对各种激进女性主义及各种独树一帜的女性主义言行可能更宽容,更习以为常。但在全球范围,人们似乎除了对保障妇女基本人权和不歧视女性原则能有一个基本认同外,对妇女到底应该有哪些权利,应该得到怎样的尊重以及应该如何定义和实现“两性平等”这类问题,仍然有非常不一致的回答。例如,女性主义者“谴责”联合国是一个“男人的组织”,建议秘书长选举要考虑性别平等,但问题是制定怎样的“平等”程序才能产生出一个保障两性“平等”的结果。

李英桃:这也让我想起今年初美国南达科他州的州长竟然签署了反堕胎法案,后来,全州公投,以微弱优势否决了这一法案。可见,女权运动在许多国家都经历了“男权回潮”。不过,“男权回潮”不是什么特殊的历史现象,而是一种常态,只不过它在不同的历史条件下,根据不同力量对比的消长,会产生不太相同的影响。

胡传荣:这是阻碍女权运动发展的一方面,更值得注意的是,在经济全球化的条件下,全球范围内的贫富分化的过程中,女性在贫困人口中占据了绝大多数。许多第三世界国家执行的“结构调整”政策更加剧了她们的困境;发达国家新保守主义的上台使女权主义者受到攻击。国际社会通过的有关实现男女平等的文件没有真正得到执行,不少国家建立的旨在推动男女平等的政府机构形同虚设,这意味着女权主义者实现社会性别平等的目标依然任重而道远。

李东燕:在不同国家,在不同宗教、文化背景和社会经济条件下,男女平等具有非常不同的含义,制约男女平等的因素自然也不尽相同。在我看来,女权的发展障碍有三点:第一,在尚未摆脱贫困的地区,文化、教育水平低下,生活的窘迫,是女性权利难以得到保障的主要原因。如果家里只能供一个孩子上学,他们显然会选择男孩子。那些仍然处于战争状态的国家,也谈不上维护妇女的基本权利。第二,传统的宗教文化,尤其是一些极端原教旨性的宗教,仍然妨碍着男女平等的实现,妨碍着女性追求平等权利,这不是轻易能改变的。第三,优胜劣汰的人才竞争,一方面为女性提供了机会,同时也引发了新的男女不平等问题。20年前我找工作时,一些单位的人事部门就说不愿意要女生,尤其是女研究生,因为她们会有许多婆婆妈妈的事情。现在仍然是这样。面对同样的机会,女生只有比男生做得更好,付出更多,才能获得。在发展中国家尤其如此。市场化、私有化助长了唯利是图的竞争,削弱了政府的干预,加上法律制度的不完善,业已制定的保护妇女权利和两性平等的规定得不到遵守,或被大打折扣,私营企业侵害女工权利的行为屡见不鲜。

女权主义在中国被丑化了吗

李英桃:“女权主义”、“女性主义”两个词,大家刚才是混着用的。这当然是英文feminism的两种译法。但现在大多数人却常用“女性主义”一词。中国人一谈起性别问题,常常会声明“我不是女权主义者”,好像自称女权主义者是丑陋的事。在很多中国人眼里,女权主义常常被丑化,甚至被妖魔化。究其原因有四点:一是女权主义激进派的观点被媒体夸张和传播,使许多人误认为,女权运动就是同性恋上街、妓女游行等;第二、女权主义起源于欧美。几十年前,中国舆论批判包括女权主义在内的资产阶级腐化思想,其影响一直延续到现在;第三、男性中心主义者不愿意失去男性既有的统治地位。他们常常举男女等候电梯的事例来嘲讽女权主义者:如果男性先按电梯按钮让女士先进,女权主义者会说,这是贬低女性的能力,女性连按按钮的能力都没有吗?如果自己先进电梯,女权主义者会说,不讲“女士优先”,一点绅士风度都没有。这些显然是对女权主义机械主义的理解。

当然,不仅仅中国不少舆论和男性中心主义者机械地理解女权,就连女权主义激进派本身也非常机械地照搬理论到现实。比如上个世纪七八年代,一些女权主义的激进派讲求所谓“胸前平等”,把男女的生理差异平等化,自然受到许多人的抵制。而在家庭内部,激进派也机械地运用理论,甚至无故挑起两性战争。实际上,这些都与女权主义者追求的男女平等目标相悖。二十多年前,美国一些女权主义者就曾经组建了一些权力平行的、内部没有等级制的团体,结果这样的团体并不能有效地工作。因此,女权主义者必须反思,其追求平等、反对等级制的目标如何与现实中对某种等级制的需求紧密地结合起来。

李银河:女权主义在中国的发展有一个很有意思的特点,即最初由李大钊、陈独秀等男性推动和倡导。近百年来,经历了数次革命,中国女权的发展比许多西方发达国家都快。如今,一种新女性主义在中国悄然登场。其最主要特征就是非常务实,不擅理论。它只是就问题说问题,并不去涉及总体规划和前景。它只讲策略,不讲战略;只讲具体,不讲抽象;只讲个人快乐,不讲群体利益;只讲妥协合作,不讲斗争;只讲实际,不讲理论。比如,她们用平行思考方式,把强势者摆在弱势地位,例如尝试说“四海之内皆姐妹”、“张玛丽先生”、“我们天上的母”之类的话语。她们承认男权制的存在,只求发出自己的声音,做点事来改变它,也希望通过写作表达女性的生存状态和所思所想。她们会在公众场所遇到含有性别歧视内容的笑话时说:我不认为这个很好笑。她们也敢于使人感到不舒服,敢于发问:为什么所有的领导都是男人?为什么男人不分担家务?

胡传荣:在中国,女性主义对许多人来说还是一个非常陌生的概念。在不少人看来,它是性别斗争的代名词,即女性将男性打倒,确立自己的至尊地位,或是让男性都变得娘娘腔。也有些人把女性主义看成是旨在培养贤妻良母的理论。国内偏重于就事论事地谈论女性主义,而没有将它同更加宏观的社会背景结合起来。女权思潮与整个社会思潮通常处于疏离状态。如今,从女性主义在中国的发展看,似乎遇到了新问题,即中国经济高速发展导致了一部分人陷入了道德真空,某些人看似打着女性主义、性解放的幌子,其实上是某种道德虚无主义,是对女性主义本意的歪曲,实际上伤害了某些女性。因此,如何确定女性主义在中国发展的目标,是当务之急。

李银河:在我看来,这至少可分为短期目标和长期目标。从短期目标看,就是有什么问题解决什么问题,比如在我们的社会中比较差的女性参政问题,女性参政都有明文规定,女性必须达到多少比例。如果没有这个比例规定,女性参政会出现怎样的情况?还有,我们社会各大企业的行政管理人员中,女性比例也偏少,难道女性真的缺乏管理人才吗?另外,女童失学问题;大学女生比例、女性就业机会、女性劳动报酬偏低的问题;女性下岗失业比例偏高的问题;流产女婴、杀害女婴、遗弃女婴问题;女童营养较差的问题;婚后居住在男方家所带来的男女不平等问题;男性不分担家务劳动和女性工作家务双重负担问题;社会观念中的性别刻板印象问题;各类传媒中男权制思想残余问题等等。

从长期目标看,应当从争取两性的和谐发展,到性别界限的模糊化,最终使性别作为一个社会分层因素变得越来越不重要,使所有的个人都能使他们的个性得到充分的发展和实现,从而不仅实现男女两性的真正平等,而且实现所有个人在地位上的完全平等。同时最大限度地保留个性的差异,没有一个人会因为自己的性别感到任何一点压抑。(本次讨论由王文主持、整理。)

后现代女权主义思潮

在女权主义三大主要派别(自由主义女权主义、社会主义女权主义、激进女权主义)长达百年的论争之后,随着西方国家进入后工业化社会的进程,出现了一个崭新的理论流派,这就是后现代女权主义流派,有的理论家甚至将这一新流派的出现称为妇女运动的“第三次浪潮”。(Coole,184)我想,其原因在于后现代女权主义颇具颠覆性,它不仅要颠覆男权主义秩序,而且要颠覆女权主义三大流派据以存在的基础。因此,严格地说,后现代女权主义并不能算是与上述三大流派并列的第四大流派。
后现代女权主义者大多活跃于学术圈内,但她们也参与女权主义的政治运动。如果要追寻后现代女权主义的思想渊源,首当其冲的当然是后现代主义大思想家福柯(Michel Foucault), 每一位后现代女权主义者都把他放在最重要的位置上,无论她们对他的思想是全盘接受,还是批判地接受。福柯是一位怀疑主义哲学大师,是怀疑主义哲学传统在20世纪的重要继承人。他主张检验知识变化的实践,而不是用标准的认识论方法去证明独一无二的理性或科学。他对现存一切秩序体制的确定性的稳固性提出了质疑。他指出:“我所分析的一切就是为了否定关于人类存在方式的普遍适用的必然性的观念。我的分析旨在揭示出现存制度的人为性质,揭示出我们还拥有多少自由的空间,还能对现存的一切作哪些改变。”(转引自Martin,11)此外,受到后现代女权主义高度重视和大量引证的还有后现代主义大师和重要思想家拉康(Lacan )和德里达(Derrida)。
    一
对后现代女权主义的思想渊源及其主要观点做一概括,似可包括以下几个方面:
(一)否定所有的宏大理论体系(grand theories)。后现代女权主义的这一基本理论倾向来自后现代主义,高度概括地说,这一理论思潮的要点是反对一切有关人类社会发展规律的大型理论体系,主张只有分散的局部的小型理论才是有效的。后现代女权主义致力于批判所有那些高大宏伟和涵盖一切的现代理论,试图建立社区理论,即,将道德和政治观念建立在小范围的特殊社区的经验之上,否定因果关系与宏观社会概念。有一种说法认为,“女人缺乏把握规模宏大的法则和原理的能力。”(Bacchi,14)对此,后现代女权主义者针锋相对地提出:应当对我们的社会合法性所由建立的所有法则和原理做重新的审视。
从启蒙思想开始,所有的大型理论都标榜其普遍性和性别中立的性质,那些强调两性差异的理论也自称是性别中立的。可是在后现代女权主义看来,这些理论都是以男性为其标准的,完全忽视了女性的存在。例如在公众领域和私人领域的划分上,认为前者是男人的天地、后者是女人的天地,这就是典型的父权制政治思想。在政治领域完全没有女人的位置。后现代女权主义认为,女性从资产阶级自由主义的思想解放中没有得到过什么益处,自由主义和启蒙主义的话语,从洛克到康德,从来都没有把女性包括在内。
在西方进入后工业化社会(丹尼•贝尔用语)之后,有关人类社会发展规律的总体性话语遭到怀疑,甚至连理论本身也遭到怀疑。后现代女权主义反对对性别、种族、阶级作宏观的分析,认为这些分类都过于概括了。由于每一个类别的内部都是千差万别的,所以这些分类都不再适用了。在她们看来,就连“女人”、“父权制”这类概念也都带有大成问题的本质主义色彩。
后现代女权主义从根本上反对西方知识结构中最为根深蒂固的两分主义(dualism),例如总要把事物分成不是这样就是那样、 你与我、好与坏、高与低等等。它提出另一种思维模式,即整合的思维模式,其中包括为女性赋予价值的模式,反对二元提倡多元的模式,差异政治的模式(其中包括种族、民族、阶级、性别和性倾向的差异),以及重视他人的模式等。
(二)关于话语即权力的理论。在当代的社会理论中,事物和话语谁更重要的问题已成为人们关注的中心议题。后现代主义大师德里达曾断言:在文本之外一切均不存在(There is nothing outside the text)。他试图用话语理论去否定物质现实。后现代主义将理论概念的重心从“结构”改变为“话语”,这就使福柯、德里达等后现代主义思想家的重要性超过了以往的所有思想家。他们创造了一个新的视角,那就是:话语就是一切,文本就是一切,主体已经死去,所谓历史就是一套基要主义的话语(foundationalist discourse),其特点是不容人们质疑。
福柯的权力—知识形成学说旨在说明,权力的实施创造了知识,知识本身又产生了权力。权力是由话语组成的。福柯一开始曾关注过经济和物质的权力,但是随即转向否认权力是一种压制力量,是由一个统治阶级来掌握的。他认为,所有的权力都是生产性的——它产出知识——而不是压抑性的。因此知识和权力是一回事,没有什么区别。他认为,那些被压制的知识总是被排除在正式的权力历史之外,因为它打断了绝对真理的形成史。福柯不是主张用一套新的真理来取代老的一套,而是指出真理的特殊历史背景。因此真理都是相对的,没有什么绝对真理。福柯使人们看问题有了历史主义的角度,即思想不是从没有时空限制的自然和必然中形成的,而是从历史的人们的智慧中形成的。他的历史主义解放了人们的思想,对所谓外部真理、永恒基础和普遍理性提出了挑战。他说:“由于它们是被造出来的,它们就能被毁掉,假定我们知道它们是怎样被制造出来的。”(转引自Ramazanoglu,180)
福柯对西方的话语所做的分析,其主要攻击目标是西方关于社会、历史与政治的宏观理论,其中最主要的是两大理论传统:自由人文主义与马克思主义(包括其弗洛伊德派变种),以及传统的革命理论。他认为这两大传统都是建立在本质主义之上的,都是建立在有关人性、人类历史、经济和力比多的总体理论之上的,都是建立在法律话语权力模式之上的。这个模式有三个基本假设:第一,权力是被占有的(被个人、被阶级或被人民);第二,权力从一个集中的源头自上而下流动(如法律、经济和国家);第三,权力是以镇压的(压抑的)方式加以实施的(如以制裁相威胁的禁制)。而福柯使我们注意到在国家、法律和阶级之外存在着的权力,他的权力模式与传统模式有三个基本区别:第一,权力是在运作的(exercised)而不是被占有的(possessed);第二,权力的运作方式主要是生产的(  productive )而不是压抑的(repressive);第三,权力是自下而上的而不是自上而下的,是分散的(decentralized)而不是集中的(centralized)。(Bazilli,20 —21)
后现代女权主义从福柯那里获得的启示是:福柯的权力形成学说并不是权力理论或任何传统意义上的历史,而是反理论的(anti —theory)。它不是告诉我们应该做些什么, 也不是为我们提供一个更美好社会的蓝图,而是为我们提供如何看待既存理论的视角,以及从权力作用的角度来分析它们的方法。他提醒人们:人们的思维方法和行为方式是如何为统治他们自己服务的,人们又是如何通过制造真理的过程来管制他们自己的。总之,它不是去解释现实,而是批评别人在解释现实时所犯的错误,其批判矛头主要指向那些本质主义者(essentialist)。
在有关权力的问题上,自由主义女权主义认为,权力就是权威,是统治和剥削所有个人的权力;马克思主义女权主义则认为,权力就是统治阶级统治被统治阶级的权力;而后现代女权主义却把权力定义为分散的、弥漫的,而不是集中于某个机构或某个群体。过去,女性一般被认为是更看重事物,而不看重话语的,例如,她们更加关注的是低工资问题、强奸问题和溺杀女婴问题,而不太关注自己在历史文献中被置于边缘地位的问题。后现代女权主义主张在妇女运动内部实行一个“模式转换”,即从只关注事物到更关注话语。因为按照后现代主义的观点,话语就是权力。
后现代女权主义批判了激进女权主义和自由主义女权主义在性问题上的观点,认为它们这两派的观点都没有能够摆脱权力的压制模式,都把权力视为由某种机制和群体所占有的一种东西了。它认为,传统的压制模式是本质主义的;它的基本假设是:男性的性一般总是同暴力、淫欲、将对象客体化以及以性高潮为主要目标联系在一起的,而女性的性则与抚育、相互的亲密关系以及对非生殖器快乐的强调联系在一起,女性的性受到强迫的、暴力的、男性的性的压抑。这是一种本能加控制的模式。
福柯指出,所有的权力都制造反抗,以反面话语的形式产生出新的知识,制造出新的真理,并组成新的权力。后现代女权主义的抱负之一就是要发明女性的话语。她们提出:“这个世界用的是男人的话语。男人就是这个世界的话语。”“我们所要求的一切可以一言以蔽之,那就是我们自己的声音。”“男人以男人的名义讲话;女人以女人的名义讲话。”“迄今为止所有的女权主义文字一直是在用男人的语言对女人耳语。”“我们必须去发明,否则我们将毁灭。”(Kourany, 362—363)
(三)关于惩戒凝视(disciplinary gaze)的观点。 福柯的一个重要思想是关于标准化或正常化(normalisation)及惩戒凝视的思想。他指出,标准化或正常化是控制和自我规范的深化,社会通过纪律管束着人的身体,通过话语来定义何为正常、何为反常;通过标准化或正常化过程来要求人对规范的遵从。他采用环形监狱作为“凝视”意象的形象化说明,意指人人都处于社会的凝视之下,不可越轨。
后现代女权主义借用福柯关于标准化、正常化的思想,说明妇女就是生活在这样一种社会压力之下,不仅要服从纪律,而且要遵从规范,自己制造出自己驯服的身体。在后现代女权主义看来,所有的旧式女权主义模式都属于一个男权压迫和禁制女性的模式,其主要的逻辑是:男权长期压制着处于无权地位的妇女。举例言之,一个女人去做隆胸术,用旧式女权主义来解读这件事就是:男人命令他的奴隶为满足主人的欲望、为愉悦主人去做这个手术,这个女人完全是男人权力的受害者。可如果从福柯的理论模式来看,对同一个现象就会有不同的解释:那女人去做隆胸术不仅是男人压迫她的结果,也是她自己的自我管制、自我统治、自我遵从规范的结果。正如福柯所说:“用不着武器,用不着肉体的暴力和物质上的禁制,只需要一个凝视、一个监督的凝视,每个人就会在这一凝视的重压之下变得卑微,就会使他成为自身的监视者,于是看似自上而下的针对每个人的监视,其实是由每个人自己加以实施的。”(转引自Ramazanoglu,191)
(四)关于身体(body)的思想。后现代女权主义借用了福柯的这一思想,他一反西方思想界重精神轻肉体的传统,大谈身体的重要性及肉体的各种体验。他指出,议会制的兴起同时限制了人的身体。它不仅要求身体的政治服从和生产劳动,而且侵犯身体本身,企图规范身体的力量与活动、身体的经济与效率。例如,军队、学校、医院、监狱、工厂这些机构的纪律的目标就是为了提高身体的效用;这些机构为了增加自身的力量,用纪律和惩罚来规范人们的行为;纪律与惩罚的实施就是为了制造驯服的身体(docile bodies)。 正是福柯使“身体”成为当代哲学、社会学和人类学分析最喜爱的题目。
前文曾提到,后现代女权主义的抱负之一就是要创造出一套女性的话语。究竟什么是女性的话语?在莱克勒克(Annie Leclerc)看来, 那就是令人难以想像的身体的快乐。后现代女权主义者这样说:“我身体的快乐,既不是灵魂和德行的快乐,也不是我作为一个女性这种感觉的快乐。它就是我女性的肚子、我女性的阴道、我女性的乳房的快乐。那丰富繁盛令人沉醉的快乐,是你完全不可想像的。”她这样阐述了身体快乐与女性话语之间的关系:“我一定要提到这件事,因为只有说到它,新的话语才能诞生,那就是女性的话语。”她又神采飞扬地说:“我要揭露你想掩盖的每一件事,因为对它(身体快乐)的压抑是其他一切压抑的起始。你一直把我们所拥有的一切都变成污物、痛苦、责任、下贱、委琐和奴役。”(转引自Kourany,303)
(五)关于本质主义(essentialism)和普遍主义(universalism)。前者强调的是人的生理和遗传决定论;后者则以为用自然或人性可以解释一切,而且认为自然和人性是不会改变的。本质主义和普遍主义成为后现代主义抨击的主要目标。后现代主义认为,所谓自然、人性既非固定不变,也非普遍相同,而是根据不同的社会、文化和历史背景而有很大差异的。后现代主义强调的是变化、断裂、矛盾和对立。
后现代女权主义对上述思想有很大共鸣,反对人们总是强调女性的生育能力及其对女性特质形成的影响。后现代女权主义者认为,福柯关于自我体验的思想可以转化为近代女权主义关于女性和母性的伦理。旧式的女权主义理论一向把人的特质划分为男性气质和女性气质两大类,而后现代女权主义理论则向这一划分提出了挑战,提醒人们注意到男女两种性别内部各自所拥有的差别。
后现代女权主义不仅反对性别的两分,而且反对性别概念本身,反对生理决定论和本质主义,反对那种以为性别是天生的、不可改变的思想。她们不认为女性就必须具有抚养性,就应当受保护;她们十分重视性别之外的种族、阶级、国家、民族及性倾向的区别,并认为这些区别都不仅仅同生理原因有关,而是从社会和心理上对生理区别作出的解释,是为了把人划分为不同的等级。她们所做的不是向性别主义和种族主义挑战,而是敦促人们彻底摈弃男性女性、黑人白人这些词语,不要把这些词语当作跨越时空和文化的、不可改变的、唯一的、本质上的类别。
后现代主义重要思想家拉康批判了弗洛伊德式的本质主义(Freud ian essentialism), 主张应以话语为中心而不应以生理学因素为中心来建构性别差异的意义。他特别提出严重质疑的包括俄底浦斯情结和阉割焦虑等理论。他的思想引起后现代女权主义的共鸣。维特根斯坦的反本质主义的思想也受到后现代女权主义的重视。后现代女权主义是反对本质主义的,它不赞成力比多(性动力)理论,也不赞成所有人最初都是双性恋(bisexual)的理论。因为这些理论都是假定性是生活的中心,而且假定性的动力是超越时间和空间的普遍存在。
    二
后现代女权主义自出现以来就遭到各种批判,主要表现为以下几个方面:
(一)对后现代女权主义及后现代主义最尖锐的批判指向它的非政治或后政治(postpolitical)倾向,批评来自女权主义运动内部。 其主要看法是:在女性刚刚成为她自身权利的主体之时,后现代主义就剥夺了女性在普遍人性中的权利。有人这样批评后现代主义:“为什么正当我们当中的很多人开始为自己命名的时刻(过去我们一直沉默),正当我们起来作历史的主体而非客体的时刻,主体这一概念本身偏偏受到了质疑?”(Brodribb,45—46)这一质问颇有深意——女性一直被当成历史的被动客体,正好在她们意识到这一点,想作历史的主体可还没有作成之时,主体竟被否认了——言外之意似乎在暗示这里有一点阴谋的味道。这一批评就像是在说:在一场轮流坐庄的赌局中,前任庄家在自己该卸任时擅自宣布整个赌局已经结束了。
传统的女权主义与后现代主义的分歧还在于对身分认同和对主体的不同看法。后现代主义要求“解构”,视主体为流动的和变化的,就连使用“女性”这样的概念都是本质主义的;并认为,如果不加分析地使用这类词汇,会于无形之中加强本质主义的思维方式,即认为男女两性的区别是与生俱来而且是固定不变的,而实际上,“女性”这一概念在不同的历史时期意味着不同的东西。女权主义的目标则是要争取作话语与意识形态的主体。一些女权主义者认为,后现代主义毁弃了学术上的许多重要分类,解构了女权主义的政治活动。她们提出,如果不承认各类现象的本体论基础,那就等于取消了政治学。男女两性的分类是政治学已经确定的分类,对两性分类的批判会带来什么样的政治可能性?认知的无限的分散化和多元化已经被理解为政治学和政治信仰的终结或消解,女权主义在这场消解中又如何找到自己的位置?
批评者认为,后现代主义是对世界背过脸去的;它不是关于这个世界的学说,而是关于其自身过程的学说;它是自慰性质的、冷淡的,仅仅对那些有权的人讲话,或者就干脆什么也不讲。按照这一学说,所有的现象都只是在一个特定的信息体系之内才有意义,在它之外就丧失了任何本体论地位(ontological status);所有的话语最终都丧失了它存在的基础。
批评者还指出,后现代女权主义理论把话语视为一切权力的所在,忽视了真实的身体和真实的性,而这些真实的身体是能够产生道德与政治上的压迫的,例如暴力和强奸。强奸是真实存在的,它不是话语。如果一味坚持话语才是权力,会成为道德相对主义,而且丧失在现实中与真实的暴力作斗争的武器。此外,如果普遍适用的宏观理论不复存在,实践和经验该怎么办?女权主义运动应当设定什么样的政治目标?
(二)对后现代女权主义的批评指向其认识论。不少女权主义者难以接受后现代主义完全抛弃性别、种族、阶级这些概念的作法,而主张代之以丰富其内涵。后现代主义使一些女权主义者感到害怕,因为它对过去那些激烈论争的问题的全部假设和框架都作了重新解释。在公众的心目中,西方女权主义政治和妇女运动的思想渊源是启蒙主义话语,其中包括权利、平等和个人主义等等,直到最近,在后现代主义出现之后,妇女运动的这一认识论沿革才受到质疑。后现代主义为女权主义带来的最大威胁首先在于它对单纯知识的威胁,就是那些人们已经接受了的简单理论,那些能够告诉人们如何为自身的利益去行动的理论,那些过去女权主义一直简单接受下来的话语,如自由政治理论、马克思主义、实证主义、启蒙主义等等。人们过去简单地接受了“科学发现的逻辑”,以为它是普遍适用的、是价值中立的。这种价值中立是对两个方面而言的,一方面是对研究的主体而言,即研究者是价值中立的;另一方面对研究的过程而言,即研究的过程和使用的方法应当是价值中立的。因此,运用这种科学的方法可以被用来发现对象的真实情况。按照后现代主义的理论,这些简单明了的原则就都是不可靠的了。
批评者指出,由于后现代主义相信意义是多元的和非确定的,假如你清楚明白和令人可解地写作,那么你就不是后现代主义者。事实上,后现代主义思想家们总是故意把话说得含糊不清,在他们那个圈子之外,没有人能理解他们在说什么。所以,一个人必须二者择其一:或者完全接受后现代主义的立场,从而放弃女权主义;或者完全拒绝这一立场。接受后现代主义的立场就必须抛弃女权主义,服从于那个有害的、不友善的、男性中心主义的哲学。
她们认为,由于后现代主义标榜对客观性和中立性的批判,而这一点恰好同女权主义的思想方法有共鸣,所以能够引起女权主义的好感,可是,从后现代主义的立场来看,波伏瓦的著作就是基要主义的(foundationalist),是建立在传统的人性理论之上的,因而是应当被否定的。否定波伏瓦也就等于否定了女权主义和妇女运动。
(三)不少女权主义者是从后现代主义的男权意识这一角度来批判它的。这种批判认为,后现代主义的理论有明显的男性化倾向,对男性的意识形态缺乏分析批判,简单地接受了福柯、德里达、拉康这些人的思想,甚至接受了尼采和弗洛伊德的思想。
对后现代女权主义的批评认为,她们还是在使用男性的话语,好像不使用男性话语的女性就要受到惩罚;好像女权主义的理论也必须从男性理论中推衍出来,并不是一种基于女性经验的新知识。
批评者还指出,后现代主义是父权制的新的文化资本,例如福柯最喜欢的作家是尼采和萨德(Sade)。虽然福柯批判了异性恋霸权,对性的“自然秩序”表示质疑,但由于他是一位男同性恋者,所以他没有也不可能看到异性恋霸权对女人的伤害。她们还批评福柯在强奸者(男人)和被强奸者(女人)之间,是为前者辩护的。总的来说,她们认为福柯基本上还是男性中心主义的(androcentralist)。
有批评者认为,虽然福柯的身体论可以帮助女权主义克服本质主义和生理主义,但是福柯对性别的决定性影响注意不够。此外,他把人仅仅视为“身体”,对个人其他方面的经验过于忽视。还有人批评福柯只强调自我,忽略了他人,好像个人是孤立的。福柯虽然讲到权力和知识的统治致使身体受到制约而成为驯服的身体,但他从未直接提到过“男性统治”这种状况本身,他所讲到的权力总是针对着所有人的。此外,当福柯讲“身体”时,没有把身体分男女,而男女的身体是有区别的,女人的身体比男人受到了更多的限制。女人不仅同男人一样,受到对身体的种种禁制,还要去刻意追求正确的尺寸和体形;如果女人不够驯顺,就会失去男人的宠爱和亲近,会失去获得后代的机会。这些问题从未进入过福柯的论域,不能不说是一个极大的缺失。
福柯与女权主义的关系十分奇特,他仅仅表达过这样一个观点,即:女人在同男人的关系中处于生理上的不利地位。除此之外,他从未研究过妇女问题,只研究过自我的性别认同。他认为,性别认同不应当成为自我的基础;性实践也不应当成为权力统治的对象,这一权力包括去为性下定义、命令它和为它分类的权力。因此,有的女权主义者甚至认为,福柯之所以受到女权主义的注意,在某种意义上说只是一种侥幸,因为他究竟做了什么值得这种注意的事并不很清楚。他不像同时受到后现代女权主义关注的思想家拉康和德里达那样直接讨论过妇女问题。有些人甚至认为,福柯式的女权主义(Foucauldian feminism)这种提法本身就是自相矛盾的,一个人不可能既赞同福柯又是个女权主义者。
但另一些人却反驳说,福柯式的女权主义是完全有可能的,因为这二者确有相吻合之处,福柯关注的许多论题都与女权主义关注的问题不谋而合。例如,女权主义者和福柯都看重文化而不看重自然;二者都十分重视性的质量和行为规范;二者都把性的问题视为政治斗争的关键领域;二者都把政治的领域扩展到了与个人领域有关的社会经济形式上来;二者都批判生理决定论和传统的人性论,二者都怀疑人文科学中隐含着统治的现代形式;二者都不把知识的增长与进步联系在一起,而是指出,随着知识的一些特殊形式的增长——如医药学、精神病学、社会学和心理学的发展——出现了一种微妙的社会控制机制;福柯向“性别是自然的”这一观念提出挑战,女权主义亦如是。
比较温和的批判者提出,对后现代主义应当持批判性吸收的态度。一部以《反对福柯:福柯与女权主义之间的紧张关系》为标题的论文集中说,女权主义反对福柯的武器之一就是他对知识和权力的性质提供的与传统不同的思维方法,特别是关于现实与真理、因果关系、自由与体制的关系这些自启蒙时代以来在西方思想史中已经固定下来的想法。正是福柯使女权主义开始怀疑这些一向以为是真理的东西。福柯并未直接向女权主义挑战,其本人似乎还同情妇女想要改变目前权力关系的欲望。由于他的著作对于女权主义思想和女权主义政治有着特别的意义,所以女权主义应当特别注重对福柯思想的批判性吸收。
       (作者单位:中国社会科学院社会学所)
参考文献 Bacchi,C.L. Same difference,Feminism and Sexual Difference,Allen and Unwin,1990. Bazilli,S.(ed.) Putting Women on the Agenda,Ravan Press,Johannebury,1991. Brodribb,S. Nothing Mat(t) ers: A Feminist Critique ofPostmodernism,Spinifex Press,1992. Coole,D.H. Women in Political Theory,From Ancient Misogynyto Contemporery Feminism,Harvester Wheatsheaf,1993. Kourany,J.A.et al.(ed.) Feminist Philosophies,Prentice Hall,New Jersey,1992.  Martin, R. "Truth, Power, Self: An Interview with michelFoucault,October,25,1982"in Martin,L.H.etal.(ed.) Technologiesof the Self:A Seminar with Michel Foucault,Amherst: Universityof Massachusetts Press,1988. Ramazanoglu,C.(ed.) Up against Foucault, Explorations ofSome Tensions Between Foucault and Feminism, Routledge, London and New York,1993.

现代女权主义的奠基人---玛丽·沃斯通克拉夫特

姚建斌

有一个流传甚广的看法是,争取选举权的妇女是英国最早的女权主义者,并且英语中有一个专门的名词(suffragette)专指这些20世纪初为争取妇女选举权而开展斗争的妇女团体的成员。如果联系世界,尤其是英国女权主义运动发展史的实际来看,上述看法实则大谬不然。

尽管岁月的流逝曾经遮盖了玛丽·沃斯通克拉夫特(Mary Wollstonecraft)的光辉,但也正是岁月证明并捍卫了她的远见卓识与光辉:她不仅是英国第一个女权主义者,更是现代女权主义的奠基人。

这个出生于十八世纪五十年代末叶的英国女人,为什么在两百多年前就具备了超越普通妇女的远见卓识,并最终成为现代女权主义先驱的呢?这个先驱为什么在身后很长一段时间内寂寞无闻,但进入二十世纪之后,尤其是自五十年代以来,却又成为了人们谈论和研究的焦点之一呢?如果我们顺着这些问题进行一些探讨,必定会对她获得较为真切的认识。

玛丽·沃斯通克拉夫特1759年出生于英国。玛丽出生的年代,启蒙主义正光芒四射,浪漫主义运动接踵而至,美国独立战争和法国革命遥相呼应。这是一个风雷激荡,思想活跃,人文主义精神继续发扬光大,个体权利愈加受到尊重,主体意识日益觉醒的时代。与上升时期资本主义相适应的这些思想在欧美社会广为传播,“自由、平等、博爱”观念至少在口头上成为大家的普遍追求。正是在这种时代氛围的感染与熏浸下,玛丽逐渐成长为一名女权主义者。

在她还是个孩子的时候,玛丽就开始抗议反叛女性的传统社会地位,最直接的诱因是她目睹了乃父对母亲的辱骂、暴力、专横等种种虐待。其父是一名边远地区农场主贵族,又是酒鬼兼赌徒,每当他喝得烂醉或输红了眼回家,总忘不了拳脚交加“问候”妻子,呵斥与辱骂更是家常便饭。不仅如此,家中重男轻女思想也相当严重,男孩子在家中的地位明显要比玛丽三姐妹优越。这种家庭暴力与不公平在小玛丽心目中激起了强烈愤怒与抗议。为使母亲免遭毒打,她不知从什么时候开始养成了一个习惯:在父母卧室外睡觉,一旦有异常情况,她便警醒地冲入,把母亲从乃父的老拳之下拯救出来。

恶劣的家庭环境使玛丽小小年纪就决定今后要独立,决不希望母亲的遭遇在自己身上重演,并发誓不打算结婚。处身今日社会,这些想法当然并不令人感到惊奇。但是请想一想吧,在十八世纪中期的英国社会,一般女性对男人都是逆来顺受,上层社会的妇女无论家道中落到怎样地步都不敢想象外出工作,独立精神、自由人格离英国女性还是十分遥远的事情,所以玛丽上述思想尤其显得弥足珍贵。

追求解放、平等、独立自主的时代思潮与家庭丑恶现实的相激相荡,使玛丽不仅在思想观念上表现出了超常的远见,她还用实际行动来践履自己的追求。

在十九岁时,她获得了一份付费工作:在南安普顿温德瑟尔的巴斯做多森夫人的女伴。经济上的初步独立进一步坚定了她当初的决心:

永不结婚。在她看来,婚姻赋予男人对妻子、妻子的财产、他们的孩子的法定所有权,妇女没有离婚的自由,即使婚姻再不幸也如此。妇女把美好婚姻和绕膝的孩子看作人生最高的追求乃至理想境界。这种普遍的社会不公平在玛丽看来无异于女性的灾难,她决心起而反抗,并以笔为旗,大胆地宣传自己的主张,唤醒自己的同胞。

她的第一个重大的社会反叛行动就是把自己的妹妹伊莉莎从一桩不幸的婚姻中拯救出来,半说服半胁迫地使伊莉莎在含泪吻别孩子之后悄悄地逃离夫家。这次拯救行动使玛丽再次意识到,对妇女而言,要保持独立自由地位,唯有一条路可走——不结婚。

她们姐妹俩,加上伊娃瑞娜和范妮·布拉德1784年在纽温顿格林成立了一所学校。她认为,妇女只有接受教育,才能学会思考问题,也才最终谈得上经济独立、人格独立,大堆的嫁妆并不能保证妇女的幸福与自由。尽管因经营不善,学校两年之后被迫关闭,但在纽温顿格林期间,玛丽有幸与当地激进分子理查·普莱斯(Richard Price)成为了好友。后者是男人团体“合理的新教徒”的领导人之一,他著有《关于道德的原则性问题的评论》等几部颇有影响的书,在书中他争辩说,“应该凭个体的良知和理智做出道德选择”,普莱斯也激烈反对基督教关于原罪和永久惩罚的传统观念,其组织因此被国教徒指责为“无神论者”。身为国教徒的玛丽被这些激进的言论深深吸引,在普莱斯影响下经常参加他们组织的活动,并在普莱斯家中结识了包括自由出版人约瑟夫·约翰森(Joseph Johnson)在内的其他主要激进派人士。在约翰森的要求和鼓励下,玛丽写成《关于少女教育的思考》一书,除了把以前关于妇女教育的观点系统化之外,她还猛烈抨击传统教学方法。几年以后,玛丽回到伦敦,成为“新型妇女中的第一个”,当了一名全日制作家和妇女儿童问题方面的编辑,兼做翻译,亦写评论,并帮助约翰森创办了《分析评论》杂志。

1789年爆发的法国大革命开始了一个新时代。对政治从不感兴趣的玛丽,被革命的思想和它引起的改良所鼓舞,变得更加激进起来,开始相信人性的改善并非天方夜谭。普莱斯发表布道,热情赞扬法国大革命,向英国人民鼓吹他们也有权力赶走坏国王。爱德蒙德·伯克对此深感恐慌,写下《对法国革命的反思》拥护君主专制的世袭权。

伯克的保守、反动,以及对普莱斯的攻击令玛丽大为不满,她很快写出《对男人权利的证明》予以坚决回击。这本小册子不仅大胆肯定法国革命的进步意义,保护和捍卫了普莱斯,而且尖锐地指出了当时社会存在的弊病,如罪恶的黑奴贸易、游戏般的法律和穷人的悲惨境遇。

小册子的出版很快引起了其他著名激进思想家,如潘恩(T.Paine)、布莱克(William Blake)、戈德温(William Godwin)等人极大的关注。

1792年玛丽出版了她最重要的著作《对妇女权利的证明》。在这部重要的女权主义经典文献中,玛丽抨击了把妇女保持在“无知和奴隶式依附”状态中的教育限制,把婚姻描绘为“合法的卖淫”,尤其反感妇女自甘沉沦于依附甚至奴性状态,认为男人的权利同妇女的权利是一体的和同一的,要获得社会平等,必须消灭教会、废除军阶制,更要革除君主专制。这些观念激起了广泛争议,它们不仅在当时的环境中是相当革命极其前卫的,甚至令其同路人也大为震惊,即使在今天的某些人眼中也称得上惊世骇俗。玛丽首次使妇女的权利成为一项事业。尽管她关于“人类的一半的公平”的要求过于革命,但仍在激进者和受过教育的妇女中赢得了追随者,不少女性从玛丽那里获得了精神上的鼓舞与力量,开始认真思考自身的前途与命运。玛丽在促成把妇女看作重要社会力量这一潮流中获得了成功。

正当这个“离经叛道”的女人连同她的作品和主张被越来越多的人关注之时,玛丽的人生经历了极富戏剧性的变化——我称之为“先驱的自我偏离”,而且正是这种偏离,曾一度损害了她作为女权主义先驱的声誉,动摇了她在女权主义运动史上的地位。

原来在1790年晚些时候,玛丽违背了自己一贯坚称的性别独立,迷恋上了亨利·弗塞里(Henry Fuselis),一名才华横溢的浪漫主义画家和有妇之夫,两年之后被他抛弃。前往巴黎散心的玛丽,遇上了放荡的美国边民伊麦利(Gilbert Imaly),他们生有一女,取名范妮。

玛丽据此要求伊麦利做出更认真严肃的承诺,却遭到了无情的拒绝,痛苦万分中曾于1795年4月、10月两度自杀未遂。此后开始同英国著名小说家哲学家戈德温交往,1796年7月,两人在圣潘克纳斯教堂喜结秦晋。但他们的结合遭到了很多人的讥嘲:首先因为它违背了玛丽自己的宣言和主张,其次玛丽曾一度以“伊麦利太太”而为人所知,而当时的妇女是不能离婚的,这种事实上的重婚引得保守派人士大为惊恐,他们四处排挤这对夫妇,但朋友们则称他们的结合是“现存最特别的已婚夫妇”。

在等待腹中小生命降生之际,玛丽开始创作半自传体长篇小说《玛丽娅》。1797年8月30日玛丽临盆,由于胎盘错位,不得不进行手术,尽管平安生下一女婴——这就是后来闻名于世的雪莱夫人,但不幸的是因为手术感染,玛丽因产褥热于同年9月10日离开了人世。一代女权主义先驱就这样走过了短暂而曲折的一生。

从表面上看,玛丽·沃斯通克拉夫特所表现出的自我偏离,在很大程度上的确背离了她当初关于婚姻和自由的主张,但这种偏离又何尝不是对其思想主张,以及女权主义精神本身具体生动的阐发和实践呢?玛丽的敢爱敢恨,勇于追求个人幸福,不正是她独立人格、自由精神强有力的表征吗?同时,玛丽遭受的误解、非议也实实在在地揭示了妇女解放的艰难,并从侧面给后人以启示:妇女解放固然不易,但是极端过头的口号、主张,恐怕也是妇女解放运动作茧自缚的重要原因。玛丽的经验教训值得那些至今仍在为争取男女平等而奋斗的人,尤其是女人记取——男女平等的最终实现不是以女人拒绝人生应有的幸福为前提的。

《中华读书报》

女权主义的发力与乏力

来源: 南方都市报


2004年10月8日,诺贝尔文学奖颁给了奥地利激进的女权主义作家埃尔弗里德·耶利内克;10月19日,英国作家艾伦·霍林赫斯特凭借同性恋小说《美丽线条》摘得布克奖。女权主义与同性恋群体都生活在社会的边缘与暗夜,但她(他)们在2004年几乎同时得到世界文学大奖的关怀与重视,耶利内克与霍林赫斯特的作品显然会在全世界赢得更广泛的读者群。她(他)们的获奖,使我联想起女权主义与同性恋题材小说在中国全然不同的生存处境。

国内,愿意公开宣称自己是女权主义并将女权主义付诸于行动的作家与评论家少得可怜,而愿意让小说涉及同性恋题材的小说家也不多。女性作家对同性恋题材似乎更先知先觉,像王安忆、林白、陈染、安妮宝贝、棉棉等女性作家书及同性恋情时都是非常隐晦含蓄。有趣的是,《北京故事》(后改编成电影《蓝宇》)的作者灵慧竟然也是女性……这种模糊不清的立场与姿态,说明女权主义与同性恋群体,在中国尚属弱势群体——写到这里,当然,女权主义仍然是我行文的重点。

女权主义(Feminism)这个名词进入中国之后,早已经过改版再包装,Feminism的中国名字叫女性主义,四平八稳,中庸保守,忐忑不安,小心翼翼,生怕激怒男性。如此翻译Feminism已经显示了女权主义在中国的起跑动作相当缓慢乏力,而与社会运动基本脱节的女性主义文学更显得衣裳单薄。女性主义在中国行事如此谨慎,她们还是难逃被妖魔化的命运,连一些长期从事女性主义研究与创作的学者与作家也开始转向了。即便如此,一些女性作家在创作时仍然坚守自己的第一经验——女性意识。比如说林白。

《十月·2004—寒露卷》登载了林白的长篇小说《妇女闲聊录》,这是一部隐含高度人文关怀精神的作品,同时也为文学创作开启了一种新的视角与新的可能性,她必将引起文坛的广泛关注。“为什么要踏遍千湖之水,为什么要记下她的述说,是谁轻轻告诉,世界如此辽阔。”由个体经验的叙事走向为沉默的大多数叙事,写作的途中一定会遇到很多困难。首先要克服的,当然是作家自己的经验与语言优越感、对纸上世界的过度迷恋,还有对作家话语权的克制与收敛,与此同时,要学会舍弃同情、怜悯等高高在上的情绪。当作家做好旁听的姿势之后,又要巧妙地引导沉默的大多数用她们自己的语言讲述出自己的日常生活细节,在这样的场景中,作家与闲聊的妇女们开始平等对话。在本质上,双方都是相同的,没有谁高,也没有谁低。在交谈中,她们互相影响彼此改变。叙述主角是妇女们,但作家并没有冷漠地置身事外。闰土的木讷后面其实还有另外一个语言和内心世界,民间从来都是一个辽阔而充满生命力的隐秘世界,作者在沉默的大多数与不沉默的极少数之间开设了一条精神通道。

林白从《玻璃虫》开始进行不同创作风格的尝试,直至《万物花开》、《妇女闲聊录》都在旁证,她的创作不断蜕变,越变越美丽。我已经在期待并想象,她的“个人三部曲”之第三部会带给我们什么样的意外?

本月值得关注的另一个女作家是海男,《作家杂志》之长篇小说秋季号女作家专辑头条刊出她的《情妇》。看得出来,海男仍然坚持用她自己的命名方式与经验执着地介入妇女命运的叙事,叙述吴竹英、陈琼飞、姚桃花三代女性的性别遭遇。而阿三的《成长如吠》,通过一只宠物狗道出狗生哲学,写得肆意畅快之余,却又少了些克制,属于写得聪明过头的作品。闫红笔下的《刘有余离婚记》则深入了一波三折又含混的感情世界。黄咏梅的《一本正经》、秋尘的《九味归一》、刘季的《清江浦》也于《钟山》长篇小说增刊2004年A卷刊出。看上去,林白其实并不寂寞孤独。除了性别均为女性之外,评论家已很难用一个固定而狭窄的概念圈住她们的创作风格。个体的个性早已飞上枝头,目光更高远。

但在女性作家重视自己的性别经验与性别意识之际,我们无法忽视另一种曲解女性主义的流行符码。比如说全国人民的除夕大餐——央视春节晚会,其中一些耍宝似的小品总是不厌其烦地告诉人们:女人收缴男人私房钱的动作越来越仔细越来越变态,男人“红杏出墙”的经济基础越来越弱,女人与男人的关系似乎已成了压迫与被压迫的关系。这种意识导向在一定程度上造成了视觉上的女权主义虚假繁荣,并在一阵阵哄笑声中将两性关系推向了一种极为不堪且猥琐无比的高潮。这种现象作为一种流行的文化符码基本掩盖了中国女性政治地位偏低、经济实力总体不济、精神与身体诉求被压抑的普遍真实。女权主义或者说女性主义想要在这些普遍而强大的流行文化符码中破茧而出,需要持久的勇气和耐心。

一个人的发力对整个社会来讲是乏力的,但如果无数个个体都发力的话,终将突围而出,女权主义也不例外。

如张念所言,女权主义是不咬人的。女权主义的终极目的,无非是力求众生平等。


(责任编辑:沙白)

闲聊西方女权主义

谐和(发自加拿大)

对西方女权主义的了解大多数是从他们的文学作品里得来的,伍尔芙,莱莘,杜拉斯……这些人的文学作品,使我们对西方女权主义有了一个方面,但是也是非常片面的方面的理解。当代中国改革开放后的一批"女作家"们以这些人作先锋,于是,出了一批象卫惠,棉棉,乌鸦,春树,和某些用生殖器写作的"女作家"和"女诗人",以此标榜她们在中国擎起了"西方女权主义的大旗",其实,也就沾了一点皮毛而已。

翻到一些关于西方女权主义的东西,和大家分享一哈,说错的,帮我纠正。

西方女权主义分三个阶段:1。第一代女权主义 ( 19世纪下半叶至20世纪初) 2。 现代女权主义( 20世纪初至60年代) 3。后现代女权主义 ( 20世纪60年代至今)

1、第一代西方女权主义:西方女权主义起源于法国资产阶级革命和启蒙运动以后,19世纪下半叶出现第一代,和欧洲工业革命同步,代表人物是英国的HARRIET TYLER MILL。最初的诉求是妇女在受教育和立法上应当平等,在经济上与男性平等。她们主要是从经济方面诉求妇女的解放,对以后的女权主义运动,特别是马克思主义/社会主义女权运动有很大影响,这一代有影响的文学作品有易仆生的"娜拉"托尔斯泰的"安娜·卡列尼娜"等。中国20-40年代的一些社会主义者受到的女权主义影响,恐怕主要是属于这一代的。这一时期,女权主义还没有上升到理论高度,主要是一些实践活动,象克拉拉。蔡特金领导的妇女同工同酬的运动,和"三。八国际妇女节"的诞生。

2、第二代西方女权主义:

从20世纪初到20世纪60年代,世界上经历了两次世界大战,殖民制度瓦解,各种矛盾从新排队,女权主义在这个大动荡的时期也各树大旗,风起云涌。这个时期的女权主义分道扬镳成为以 KATE MILLET, CATHARINE MACKINNON 等人为代表的"激进主义女权主义",以 JULIET MITCHELL 为代表的"马克思主义 / 社会主义女权主义"和以贝蒂·佛里丹等人为代表的" 自由主义女权主义"。马克思主义/ 社会主义女权主义主要是从经济和阶级斗争方面要求妇女和男性的平等,要求妇女的在物质上的地位。而"激进女权主义"和"自由女权主义"却是在"性"方面诉求女性的"解放"。她们挑战的是整个男性社会,挑战"性阶级"体制。美国的凯特。米丽特在她的"性政治学"( 1970年)一书中第一次引入"父权制"( PATRIARCHY)的概念,她认为妇女受压迫的根源是"父权制"。她们将女性和男性完全对立起来:男人是敌人,女人是朋友;男人是暴躁,女人是温柔;男人是迫害者,女人是被迫害者;男人是压迫者,女人是被压迫者;男人是战争贩子,女人是和平主义者;男人是胜利者,女人是失败者;男人是个人中心主义者,女人是关系取向者;男人的快感只局限在生殖器上,女人的快感则体现在全身各方面;男人只注重结果,女人则注重过程……等等等等。这种简单的二分法,受到以后的后现代女权主义的批判,这一点很重要,也是后话。不过,这一时期的女权主义,尤其是激进和自由女权主义对"性解放"的诉求,对一批女权主义作家产生很大影响。弗吉利亚。伍尔芙和莱莘等人的作品虽然有后现代的痕迹,可是基本上是这一时期女权主义在文学上的代表。我想,国内那批"女作家",模仿的也是这几位。再加上个杜拉斯和米兰·昆德拉。

3、后现代女权主义 :

后现代女权主义开始于上个世纪60-80年代,她的产生大概和两个因素有关,一是,由于60年代的"性解放"和将男女对立起来的女权思想,带来了无数的家庭破裂,单亲母亲,问题儿童和爱滋病流行,于是人们反思:社会值不值得为性解放和女权主义付出那么大的代价?另一个因素是,80年代以后,越来越多的女人占据了政府企业学校传媒的领导地位,当了老板,男人们惊呼:母鸡打鸣了!女人也开始怀疑:还会不会生蛋?于是,后现代的女权应运而生。

如果说第二代的"现代女权主义"重实践,则第三代的"后现代女权主义"更重视超出女性范围的哲学思考,社会主义和性自由的色彩更浓厚。

先来说"性",这是时下国内那些"后现代"女人们模仿得最起劲的。后现代女权对现代女权的反动在于,她们否定了第二代女权主义者将女人和男人对立起来的说法,再不提男人是压迫者,女人是被压迫者,而提倡男女的"阴阳合一",她们否定"妇女""身体""父权"这样一些概念。美国的JUDITH BUTLER 在"性别的烦恼"等书中说,性别是社会的而非天生的,身体不是生物意义上的"自然身体"而是由文化和权力决定的。这使我想起卫惠"上海宝贝"里那一中一洋的两个男人,以及卫本人和他们的关系。法国的MONIQUE WITTIG更奇特,她说,女人并非生来就是女人,女人的身体也是社会造成的,她主张没有"男人"和"女人"的社会。这种彻底的从社会地位到生理地位都平等的论调,完全打破了"男性的语言"。美国后现代女权主义者们主张"以往的女权主义者是用男性的语言说话,现在我们要用女性的语言说话。"ANNIE LECLERC 在她的书中写到,这种女性的话语就是"我女性的肚子,阴道和乳房的快乐,它既不是灵魂和德行的快乐,也不是感觉的快乐,而是一种令人沉醉,男性难以想象的肉体快乐。"啊,我突然明白,以前在网上见过一些用中文写"诗"的"女诗人",她们那些"肚子,阴道,乳房"的"诗歌"原来是抄袭这位安妮小姐的!

后现代女权在"性"方面不再追求第二代女权主义要求的性夥伴数量,而更讲究质量,也就是说,与其和一些乱七八糟的男人滥交,不如和同一个性夥伴快乐的从一而终。这不啻是对60-70年代性滥交,离婚单亲吸毒爱滋的反思,可惜,中土现在还在步那60-70年代的后尘,大概还要过10-20年才能"醒"过来。现在,西方出版界开始出版介绍中土"房中术"的著作(注意,不是小说,是近似"学术"的作品),这种书在我们自己那里大概还在"黄色禁书"一栏里挣扎,在别人这里,可是当作好东西在学习呢。这就是"反思"的重要性么。

由于有更多的女人参加到政治商业媒体学术行业,并进入领导阶层,"母鸡打鸣"的结果,使后现代女权主义者们将女权主义这个东西引进哲学思考领域。比较积极的有"生态女权主义"和"过程女权主义"。前者代表人物是美国的 CHARLENE SPRETNAK,她的一系列"绿色"著作,在西方有着广泛影响。她认为,"现代化"并没有实现它所许诺的更好的生活,并没有带给世界和平与安定。现代化的主要表征是物质主义,工业主义,分离主义,父权制度等等,它们将人和自然对立起来,对人类产生巨大负面影响。她主张的生态后现代主义是:生态智慧,基层民主,个人与社会的责任,非暴力,尊重差异,可持续的发展和女权主义,还真有些社会主义的理想呢! SPRETNAK 毫不掩饰地说,她的生态女权主义是挑战西方文化中贬低自然和贬低女性的作法,挑战那些在灭绝生态的活动中压迫人(特别是妇女)的社会和政治秩序,挑战西方父权主义的分离分化对立人类和穷揭资源的豪强霸道行为。

有趣的是, SPRETNAK 将以阴阳整合与互动为特征的道教精神写在她的著作中,认为那是优秀的文化财富。

后现代女权主义的另一分支是"过程主义",她鼓励女性以其本能的"热情,温柔,回应,可变"作为想象和思考的动力,而拒绝传统的形而上学的刻板的男性思维方式。她们认为"只有当妇女在一个对女性和男性同样尊重的社会中获得了和男人一样的平等地位时,人们才将实现所必须的各种变革,才有正义,享受,秩序和创造。"

这种社会我们以前好象在哪里见到过?见到过又消失了?或者是从来就没有过?

文章来源:作者赐稿

2006-12-08

大学生就不能扫地吗?

雅虎今年到湖北省人才市场招聘大学毕业生,因为问应聘者扫地愿不愿意而惹恼了不少人。一自称可以胜任任何职位的女生愤然离席,然后又折回来怒斥招聘人:你们对待大学毕业生如此无理,肯定招不到人才!一读者投书媒体,称招聘有明确的目标。一个希望做白领或蓝领的求职者,不希望招聘方提供其他无关职位,招聘者作为知名企业,以强势压弱势,跨越了文明招聘的底线。
我一朋友看完这封读者的抗议信,也很愤然,理由却是相反的:大学生怎么就不能扫地?在国内招聘,问一下这个问题非常有必要,人家企业也许吃过苦头。
为什么这么说?因为她1992年有过一段经历。那年她考完托福GRE,正在北京等着美国大学的录取消息。因为她一直没有工作,此时已经弹尽粮绝,便仗着两门外语本事,到一个日本的小公司应聘就职,月薪千元。干了20天,耶鲁的录取通知来了,于是立即辞职,拿了700元走人。
然而这20天的经历,却让她大开眼界。那家小公司刚刚进北京,还处于布置办公室的阶段,不用说扫地、搬箱子、擦玻璃,什么事情都得干。可是雇佣的五六位员工中,毕业不久的大学生却觉得干这种杂事委屈,特别是有位北大中文系出身的小伙子,总觉得自己是个大才子,在老板盯着的时候还搬箱子,但一看见我这位朋友走过来,把箱子放下就走,意思是这不是我干的事情,你得给我抬,连基本的绅士风度都不讲。我这位朋友当年以浙江省外语类前几名的成绩考进了复旦外文系,要数优胜记略,大概是这些人里最辉煌的。不过,她从小是个黑五类,由外婆含辛茹苦地带大。小时候外婆给她讲过一个故事,对她一生影响甚大:一个仆人被东家解雇了,和女主人结完账,在拎着包裹悲哀地走出门时,看到一个扫把倒在地下,就本能地将之扶起来放好。女主人看了大为感动,马上把她留下来。
据这位朋友讲,当时她就凭着这样的伦理,有什么事情干什么,不去计较。不过她是这几个年轻人中唯一能讲日文的。很多事情要靠她来对付。可办完事回来一看,办公室收拾得没有一点样子,几位大爷在那里无所事事。老板近乎哀求地对员工说:你们怎么不着急?你们难道不知道新买来的家具都要一尘不染吗?
1992年的职场还没有进入独生子女时代。那些中国雇员,其实也非常想讨好老板。但是有些基本观念就是改不过来,缺乏干活的本能,没人盯着,杂事就没人做。许多招聘单位喜欢要创业性的人才。而越是创业,越是什么都要干,你就不能指望有专职清洁工或秘书。当时那个日本老板,看中国员工不抬家具,自己西装革履地也得去抬,总不能看着自己刚刚开始的事业倒掉吧?在美国招聘白领,大概很少有问你愿不愿意扫地的,因为大家该扫地时一般都会扫。你要是雇一些中国的大学生,那就难说了,大学生扫地不是受惩罚,就是别有用心。记得我当年大学毕业刚刚参加工作,每天早来半个小时打扫办公室。坚持了一个月,一位同事终于坦率地问:小薛,你是不是想入党呀?弄得我哭笑不得。所以,真要雇一批大学生,大家不想入党或已经入了,上面的场景很可能出现。同事之间彼此推诿,谁也放不下架子干粗活。雇主要有这样的经历,招人时当然要事先问一下。
为什么中国的大学生这么受不了扫地之辱,美国学生相对而言就无所谓?我看其中有几个原因。
首先,美国人从小打工。包括一些中高等阶级的子弟,十三四岁就开始打工,一直到大学毕业找到工作,他们把干杂事视为理所当然。特别是刚刚出道的大学毕业生,更觉得自己要从给人打下手起家。比如你要问一个女孩子能否做些端茶倒水清洁卫生的工作,对方大概会甜蜜地回答当然可以。然后还给你摆一大堆资历,说自己上学时怎么在餐馆打工,刷锅洗碗端盘子什么的样样在行。一位普林斯顿毕业、后来当了好莱坞制片人的富家女还半开玩笑地告诉我,她最喜欢端盘子,因为一天到晚对人笑,笑得自己也挺高兴。同时也可想而知,有很多这样的人在端盘子,人们对端盘子的人也就不敢小看。
第二个原因,就是美国的通识教育。大学首先以培养一个完整全面的人为目标。学生毕业后,自我意识中也把自己当成一个走向生活的人:逢山开路,遇水搭桥,碰到什么问题解决什么问题,该扫地就扫地,该编软件就编软件。我们这里的专业教育,培养出来的人专业意识压倒人的意识:你让我扫地?你怎么也不看看我是学什么专业的?这不是浪费人才,侮辱人吗?所以尽管上面那位大学生声称能够胜任任何职位,扫地却能让她火冒三丈。我们的读者也跟着愤怒,指责招聘单位以其他无关职位污辱大学生。你怎么能说生活中碰到的事情与你无关呢?
大学的普及,就是大学平民化的过程。如果大学生连普通劳动者这样的身份都无法接受,那也就不要指望找工作了。最近一些国际咨询公司调查表明:中国虽然每年有大量大学生毕业,但白领短缺严重,有些跨国公司因找不到人才甚至被逼得考虑撤资。我那位朋友工作20天后,就看出了这一点:那个日本小公司,守着不干活的员工也不敢解雇。因为除了他们,还能雇谁?可见,目前只抱怨大学生找不到工作,未免是一面之词。有心人不妨问问高端的企业,有基本工作伦理的可雇的大学生,究竟有多少?

最近看到这篇文章,我对这篇文章中作者对于现在大学生的蔑视感到十分不满。反过来问这个作者,给你去做扫地工作,又不给高薪水(比如一个月600),你会愿意么?99%都不会愿意。 这是因为人都是自私的、都是有惰性的。对自己没好处的事情是不干的,除非逼不得已。多数人其实都是,只要给钱多,就做,如果公司表态该清洁工岗位月薪6K,我相信肯定会有大学生应聘。如果月薪10W,那找个MBA来扫地都没问题。其实工作本就没有高低贵贱,而现在清洁工只是低层次劳动和低薪水的代名词。

先分析一下这里的招聘方雅虎的情况,当然我认为雅虎这里确实有侮辱人之嫌。先不说这个,雅虎是一个大公司、大企业,不可能傻到了雇一个大学生做清洁工,对于这些大学生来说,是找错人了。就好比对着文科出生的毕业生,问他要不要去搞编程一样,大学里并没有开设扫地专业或者保洁专业。Yahoo完全可以去家政公司、或者和物业联系,专门雇佣一个清洁工,每天打扫一次,而这个清洁工在打扫完之后,也可以服务于其他公司,而且手脚利索、弄得干净。大学毕业生未必就能比他们做得更好。而 为什么最好要这样聘请清洁工,为何不用公司自己的人呢?很简单,公司蒸蒸日上,业务繁多,各个员工忙于工作,如果再让其他事情牵扯他们有限的精力,显然不 能最大限度的发挥员工的能力(最大限度压榨员工的剩余价值)。

事实上,如今一个单位能给一个清洁工的薪水很低(当然还和社会现状有关,具体内容这里不讨论)。同样这也不是国家培养大学生和家庭培养孩子以及自己培养自己的目的,培养一个大学生可能需要一百万人民币,而一个清洁工,月薪最多能多少,才能为公司创造多少价值?每个人都有体现自己价值的地方,大学生的价值显然不在这儿。作为公司来说,不知道发挥员工的能力,错误的使用这些员工,显然会导致非常大的失误,不知道那些招聘的人是否脑子烧了。

文中所提及的那个日本小公司,是一个刚起步的公司,刚起步的小公司确实有很多东西需要打理,这个时候,大家自然应该发挥主人翁意识,能做的都做,但是别忘了,为何这些人会去做,也是因为有自己的利益在内,因为他们将来就是老员工,老员工将来可以享受更好的待遇和福利,甚至是将来可以成为公司股东,变成公司的主人,也算是实现自己的价值。试想,一个人在自己家里会懒得打扫房子吗,如果自己家里都懒得打扫了,而又不让人来打扫,那确实没救了。反过来说,如果公司老板一开始就没把雇员放在眼里,只是认为是雇佣一下,将来没准等公司上了轨道就开了,或者不会让员工得到晋升、待遇得到提升,那么还是不会有雇员愿意再去多花时间做这些杂事,有这个时间不如去其他地方打工,赚点外快。

对于文中作者朋友的“经历”,只能说北大毕业的那个学生没有绅士风度,而对于这个女士,我觉得做得未必就好。她没钱的时候,就临时找个公司做点事,而在企业最需要人才的时候,收到录取通知书就拍屁股走人。多数公司都是不会去招聘那种临时工作一段时间就走的人的,尤其是成熟大公司。

又说美国,中国干吗和美国比呢,就说到文中的例子“一位普林斯顿毕业、后来当了好莱坞制片人的富家女”,我认为摆在这里实在可笑,人家有资本,无所谓做什么,想端盘子的时候端端,不想端了就可以走人,想创业的时候就可以去创业,反正有钱,而中国大学毕业生呢?房子和车还在天上飞呢。而且,即使让这个有钱女的真的再回去端盘子,恐怕也不会那么地情愿,因为她已经体现了自己的价值,是做一个制片人,端盘子的时代过去了,花钱让人去端盘子吧。

总结一下,关于引文的作者的看法,就是认为大学毕业生应该有全面的素质,从小事做起,这个并没有错误,确实应该如此,但并不代表小事就能实现大学生全部的价值。并且随着他们越来越多地实现自己的价值,自己价值的不断提升,这些小事迟早都不会由自己来动手的,除非就停留在某个层次了。

2006-11-03

挂号 vs 火车站买票

今天爸爸到上海来看我,顺便要到复旦大学附属耳鼻喉科医院去看看一直困扰他的喉咙痛的问题。据说挂专家门诊很难,于是我起了个早,五点起床,然后打车直接到医院,呵,那人叫个多啊,简直就是春节买火车票,人多啊。刚下出租车,就有个女的上来"热情"地招呼我,问我来看什么病,我说是喉咙,要挂专家门诊,她就告诉我,今天这科专家只有一位叫"张荣根"的,然后问我要到前面站个位置么?我才恍然大悟,原来如此,是干这个行当的啊,真是遍地是黄金。交了个几十元,站了第八个位置。
期间和周围的人聊,有些是两三点就来排队的,有些也是买的位置,其实队伍中很都是这些搞排队"业务"的伙计,负责占位置,然后他们的头在后面看哪些人要买他们前面的位置,就以高价出售。

哪儿有需求,哪儿就有市场。

可惜后来那个专家不行,根本看不出爸爸的喉咙有什么问题,开了点西瓜霜……

2006-10-29

不可思议机器

来自MIT的一个神奇软件,一个力学设计环境,让我会想起了以前玩过的“不可思议机器”这个游戏——而我们的软件工程在什么年代?

2006-10-28

赶紧升级到Ubuntu Edgy Eft

上次说我用了一个奇怪的办法安装了Ubuntu Dapper,现在Ubuntu Edgy Eft发布了,就赶紧升级,直接在命令行下输入“gksu “update-manager -c -d””,然后点击“升级到6.10“,然后就开始了漫长的升级过程……
估计是发布之后大家都立即跟进,有很多的人在下载更新,我下载的速度只有几K,整整下载了2天才搞定……
新版的Ubuntu Edgy Eft最大的优点我觉得是使用了Firefox 2.0,浏览上不再那么卡了~

2006-10-26

丰收的季节

最近天气逐渐转凉,转眼就到深秋季节了,正是丰收的时节,接连几项重要软件的发布,Internet Explore 7.0Fedora Core 6Firefox 2.0,包括今天发现Ubuntu Linux也发布了最新的正式版6.10 Edgy Eft

而我也还有一些其他的,在酝酿之中……

2006-10-24

Mozilla is faster

上一篇之 后,我又尝试了一下Firefox的大哥Mozilla,突然发现果然流畅很多,虽然Mozilla少了很多功能,比如扩展和主题,但是性能上的提升是值 得的。Firefox由于扩展、主题都是基于JavaScript和XML的甚至是基于RDF的,而这两者对于性能的影响还是很大的。
话又说回来,我在Windows上虽然感觉Firefox并不慢,但当运行久了之后,也会出现和Linux下一样的情况,而且我总是使用标签页进行浏览, 似乎这样情况更加严重,也许是Firefox还存在某些内存泄露的问题——导致我现在又开始使用Opera了,不过Opera也没有x86 64版本的。

2006-10-23

Linux下的Firefox性能问题

Firefox的性能问题困扰我很久了,从Ubuntu Breezy开始就很奇怪。过去我曾经使用Ubuntu Breezy的时候,发现Firefox在Tab之间切换十分慢,JavaScript脚本的执行也很慢。
后来公司机器有空余(是一台Athlon64的),我就安装了一个Fedora Core 5 x86_64版,但情况也很糟糕。后来安装了Ubuntu Dapper amd64,起初觉得还挺快,后来就越来越慢了,于是我猜测是扩展和插件的问题,因为Ubuntu会给Firefox安装很多语言支持,而这些支持都是以扩展的形式安装在Firefox中的,于是我在Firefox将所有的语言支持扩展都禁用掉了,重启,才感觉性能上有所提升,但还是无法达到Windows下的效果。
而另外一个问题是,我在Windows上的VMWare中安装的Ubuntu Dapper i386的版本中的Firefox速度却相当快,难道是因为Firefox在x86_64架构下有性能问题?

2006-10-19

IE7正式发布


微软正式发布新的网页浏览器Internet Explorer 7,距离上个版本IE6,已经过去六年了(IE6是在2001年发布的),经过了N个版本的测试和用户的不满之后,这次会如何?

而现在趁江山还在,发布个IE7,不然,浏览器江山就要三分了。

基本觉得用着没什么不好的,除了经常会内存占用到100MB……另外,Live Mail也升级了。

2006-10-18

规则与规律[转]

http://www.newmind40.com/law_gb.htm
规则是制定的或是形成的,而规律是天然的。

  • 规则可以是个别的,而规律是公共的。
  • 规则可以包括规律,但规律不能包括规则。
  • 规则可以被改变,但规律不能被改变。规律可以与其他规律和规则结合形成
    一个新的规则并成为这个规则的一部分。
  • 规则和规律都是具体的,精确的,可重复的和可程序化的。
  • 规律在条件具备时一定发生作用,无论它是否被列入程序。
  • 规律在一个自动系统中不一定是它规则的一部分,尽管它在一定条件下会发
    生作用,因为宇宙中万物的存在和运动都有某种规律伴随。
  • 如果规则与规律不符或背离,人们称之为荒谬。
    假定一个非生命系统能够靠经验和学习发现规律,它就必须要把它引入
    自身的规则之中以形成一个新的规则,并且在这个过程中不能选择其他规则。
    这就产生了以下问题:
    1. 这个系统如何知道在它的经验中包含新的规律以及这个规律对它是否有
    用?因此我们必须提前向它提供包括这种判断和选择能力的程序,然而根据
    规则之悖论,这种程序是根本不存在的。
    2. 这个系统如何把这个新的规律与它自身现有的规则结合?而且这个结合
    过程只能利用自身的规则。否则的话,它又会面临选择规则这一悖论。
    3. 一个非生命系统如何具有自己要达到的目标?这个目标是什么?它是怎
    么来的?如果是人赋予的,它和现在的电脑有什么区别?
    4. 当这个系统从经验中发现规律以及从其他系统中收到规则时,它如何在
    不能选择其他规则的情况下判断和翻译这些东西?难道它不分青红皂白地把
    这些东西插入到它的自身规则之中吗?或者它如何过滤接收的所有输入或感
    受的信息以选择对它有用的部分?难道就象电脑那样事先由程序精确地规定
    所能接受的信息输入和感受?
    5. 这个系统如何在不能选择其他规则的情况下学习规律和其他规则呢?只
    有当这个系统获得现有规则不具备的能力时,我们才能认为它具有学习能力。
    否则的话,这种"学习"就是一种程序化模拟,让人看上去好象具有学习能力。
    6. 是否存在这样一种可能,那就是一个非生命或非人工生命的系统仅仅靠
    能学习规律和其他规则就能够使自身形成或者获得选择规则的能力?如果能
    的话,就必然存在一种规律或规则能够帮助选择规则。不幸的是这种规律和
    规则都是不存在的。如果存在的话,它就能够帮助自己选择规则,这又进入
    了规则之悖论。
    7. 有人说,这个系统可以不用规则来达到自身的目标。那么它用什么方式
    工作呢?一个无序的系统能干什么呢?智能的解释是人类的概念。决定一个
    系统是否有智能必须能被人类所解释, 人类只能按照人类自身的规则和掌握
    的规则来解释。人类无法解释人类自认为无序的系统的"智能行为"。
    以上推论可以完全否定以下学术界流行的对智能的错误概念:
  • 智能可以仅仅通过外部指令和给定程序人工实现。
  • 人类提供的程序可以使电脑具有学习能力。
  • 人工智能不一定是生命形式。
  • 目前的电脑和电脑系统具有智能。
  • 目前电脑可以具有经验。
  • 智能过程不一定是自发的。
  • 智能可以与欲望、情感和意志分离。
  • 智能可以用数字化方式实现。
  • 智能可以用数学模型方式进行模拟。
  • 智能可以是一种结果表象而不是过程。
  • 人工智能可以被复制,读出和改写

2006-10-17

Run Perl 6 now -- in your browser!

pugs web terminal
上一篇Try Ruby in Your Browser没过多久,发现Perl 6也搞了个Web终端给大家提前尝鲜,可惜Perl 6依然在试飞阶段,现在的编译器都是基于Audrey Tang主持开发的Pugs
但这个Web终端并不十分友好,看上去没有Try Ruby酷,同时也没有提供一步步的教程,看来关注Perl 6的都是高手了。最头疼的是,常常会说:

Sorry, I can't run any more sessions.
Please try again later.

2006-10-13

Python MySQLdb的重大疑问

请访问:
http://shiningray.cn/2006/10/13/python-mysqldb/

今天是黑色星期五

今天10月13号星期五,一个黑色星期五,特此纪念一下,不过我却是在睡梦中度过的,昨晚熬了个通宵做东西。最近公司的一些任务,我基本都使用Python来完成,因为这些任务本身就是一些人的手工任务的自动化。
今天0:00之前和老板还有几个同事一起去路边的夜排档吃宵夜,啃了两个鸭腿,味道真不错——不知道什么时候还能吃到南京的鸭子。而那个金华火腿,虽然金华的火腿很有名,但是金华火腿这个商标被杭州一家公司给注册了,金华人就不能公开叫卖金华火腿了~。

神奇的Wikipedia

最近被公司放到金华,最近一直很忙。今天得到一个消息,英文的Wikipedia开禁了!真是太神奇了,在这里要歌颂一下我们的Dǎng、ZhengFu,这是伟大的进步!
还发现一个很有趣的现象:除了中文简体、繁体版的Wikipedia之外,还有粤语吴语文言文的版本。据说是机器转换的……

2006-10-11

Linux各种文件系统比较

请访问:
http://shiningray.cn/2006/10/11/linux-ge-zhong-wen-jian-xi-tong-bi-jiao/

关于字体的一些基本概念

点阵字体与矢量字体

点阵字体也叫位图字体,其中每个字形都以一组二维像素 信息表示。由于位图的原故,点阵字体很难进行缩放,特定的点阵字体只能清晰地显示在相应的字号下。但对于 12-16px 这样小的汉字,点阵字体常常比其它类型的字体在屏幕上更好的显示效果。常见的点阵字体有 bdf,pcf,fnt,hbf 等格式。 对于常见的计算机操作系统,字体的显示算法需要一些字体的信息来优化屏幕显示效果,英文称为 hinting。汉字由于笔画复杂,所以 hinting 的方式与西文截然不同。使用在汉字字体中嵌入预先制作的点阵位图既可以有效地避免 hinting 算法带来的计算开销,同时屏幕上显示的汉字边缘清晰,易于阅读。
矢量字体中每一个字形是通过数学曲线来描述的,它包含了字形边界上的关键点,连线的导数信息等,字体的渲染引擎通过读取这些数学矢量,然后 进行一定的数学运算来进行渲染。这类字体的好处是字体可以无限放大而不产生变形。矢量字体主要包括 Type1 和 TrueType 等几类。

内嵌点阵字的字体

由于CJK字体的结构复杂,在小号字体只有使用点阵才能有清晰的显示效果,但是点阵字体很难进行缩,而且线条单一,在大号字体显示时就显得苍白无力。把点阵字体内嵌到矢量字体就能发挥两者的优点,并且也弥补了两者的不足。小号字体时清晰明朗,大号字体时字型饱满,形态丰富。常见的内嵌点阵字的字体有:北京中易电子公司宋体SimSun 、方正宋体(FZSongti)、文鼎PL上海宋(Uming)、Firefly的文鼎PL新宋(AR PL New Sung)等。

Hinting 与 Autohint

Hinting 用来最佳化字型显示的方法。由于屏幕的像素有限,向量字型的缩放需要有更多的考虑, 例如当一条线位在两个像素格子中间时, 该取左边的格子还是右边的格子? 如果这方面的控制没有做好,就常常会出现字型的衬线没有对齐,或是小字歪七扭八的情况。 Hinting 是额外的信息, 它告诉 renderer 该如何处理这些细节的部份,使得向量字在小字的时候能够好看。也因此 Hinting 是非常费时费人力的工作,TrueType 字型很多,但是有良好 Hinting 的字型不多。拙劣的 Hinting 就会让字变得很难看。
为了稍微改善这个问题,freetype 有 autohint 的功能,可以自动为没有 hint 的字型做 hinting 的工作。另外由于 TrueType 的 hinting 是有专利的,不能完全自由地使用, autohint 就不受这个限制。autohint 自然无法做得像人力的 hint 一样好,不过至少比没有 hint 要好些。话虽如此,对于许多笔划复杂的文字 (如中文) 目前 freetype 的 autohint 还做得不甚完美,而因为建立完整的 hinting 的难度,即使是英文字,原本就很高,内建有 hinting 的中文字型就少之又少了。所以常常有人抱怨中文字在屏幕上很难看,就是没有理想 hinting, 或者是使用了 autohinter 所造成的一些反效果。

AA(Anti-aliasing)


Antialiasing 是将字体在后台先以数倍的大小来绘画,然后再缩成想要的大小,未满一格的格子用灰阶补点。由于原本 X 所支持的 logic 运算不敷使用,所以才用 XRender 的 extension 来达成目的。 Antialiasing 会给人一种朦胧的感觉,习惯了Windows XP 下清晰,锐利的字体显示时,Antialiasing 会让人不太适应,会让用户觉得Linux下的字体显示不如Windows XP。但是,其实 Antialiasing是一种很先进的显示技术,当长时间显示器上阅读的时候,Windows XP 下的锐利的字体显示风格,会让眼睛更加容易疲劳,使用Antialiasing,字体的显示更加柔和,更加适合长时间的在显示器上阅读文档,减少眼睛的疲劳。
微软的下一代OS Windows Vista 也将用ClearType 来取代传统的黑白,锐利的英文字体显示和点阵CJK 显示。ClearType的渲染效果和Linux下的 Anti-aliasing 效果很相似。

2006-10-10

通过BitTorrent来更新Ubuntu?

当我想到这个问题的时候,其实已经有人事先完成了( http://directory.fsf.org/all/apt-torrent.html ),这是因为APT可以使用好多种下载工具来做后端,但现在的问题是哪儿可以发布种子和种子文件?

暴强盗版网站

网站能盗版成这样,实在是有魄力。VMWare已经是世界上最著名的虚拟机软件的制造商,左边是它的网站,右边是所谓的VMWare中国(www.vmware.cn)

vmware-officialvmware-cn

乍一看,我还以为vmware.cn就是VMWare的中国官方网站呢,但仔细一看——全部软件免费,美国官方的要License收费的软件跑中国来就免费了呢。网站设计还有那么点像个公司的样子,不仔细还真被蒙了。

这年头,盗版都理直气壮了。

2006-10-09

时间悖论

一直想写篇关于时间的帖子,无奈本人数学功底太差,对于几位大科学家的理论几乎根本无法理解,不过,还是要在此讨论一下自己的看法。
当大家谈到时间旅行(主要指回到过去)的时候,都会提到一个著名的悖论——一个人回到过去,将其父亲/母亲/祖先杀了,那么他从哪里冒出来的呢,他又算什么“东西”呢?这个逻辑上的矛盾一直困扰着大家,记得看到书上说,霍金认为,宇宙会在对这种动作有某种程度上保护,阻止这种行为的发生。我渐渐觉得,在时间旅行的问题上深入的越久,人就越容易陷入现在认为错误的“宿命论”的泥潭中。
首先,并不一定是这类回到过去的行为是一种悖论,只要是想回到过去,其实都是为了产生这种悖论的。为什么呢?你只要问问自己,如果你能回到过去,你会去做什么事情——肯定会是一些你一直后悔的事情。比如某个人的亲人死了,所以他要回到过去,去救他的亲人,但他如果成功了,那么过去的那个他再度到现在这个时候,他就无须再次回到过去了,因为他亲人没死。再比如,机器猫上的大雄,考试没及格,坐时间机器回到考试前一天,将答案告诉过去的他,那么过去的那个他如果考试通过了,那么考试过后,就无须再回到过去完成这个“使命”。还有,周杰伦唱的那个“就回到过去,试着让故事继续……”,但若是故事按照他所期望的发展下去,那他还要这样去后悔么?
所以,要么是这种逻辑在时间的问题上不适用,要么就是,想回到过去改变过去,是不可能成功的,既然不可能成功,那么,这就是一种“宿命”。
其实还可以有另一种考虑方法,如果你回到过去了,帮助了过去的你,那么过去的你的记忆中应该知道你回去过了,而且,你知道将来的某个时刻,你还会像当时一样回去,去完成你的“使命”,这又陷入了宿命的怪圈中。
所以,我也认为,现在单纯的单向的时间旅行是不存在的,也就是说,未来的某个时刻的人,单方面要回到过去,只能是一厢情愿,必须要靠过去的那个时刻的人的共鸣,或者召唤,两个时间点上一起产生作用,才能打开时间的隧道。
另外,还有一个矛盾,就是和广义能量守恒定理之间的矛盾。它基本理论是这么说的:

“物理学宇宙(简称宇宙)是由多种形式的能量组成的,或者说宇宙的本质就是能量(广义)或物质(广义),各种能量形式可以相互转化而总量守恒。”
但如果有了时间旅行,那未来的时间来的物质,能回到过去,但这些物质回去了就不走了的话,那么这个定律就不适用了,可以需要在更广义的条件下进行定义。
还有就是那个很著名的一个人的故事,也是关于时间悖论的:
一九四五年的一天,克力富兰的孤儿院里出现了一个神秘的女婴,没有人知道她的父母是谁。她孤独地长大,没有任何人与她来往。
  直到一九六三年的一天,她莫明其妙地爱上了一个流浪汉,情况才变得好起来。可是好景不长,不幸事件一个接一个的发生。首先,当她发现自己怀上了流浪汉的小孩时,流浪汉却突然失踪了。其次,她在医院生小孩时,医生发现她是双性人,也就是说她同时具有男女性器官。为了挽救她的生命,医院给她做了变性手术,她变成了他。最不幸的是,她刚刚生下的小女孩又被一个神秘的人给绑走了。这一连串的打击使他从此一蹶不振,最后流落到街头变成了一个无家可归的流浪汉直到... ...
  一九七八年的一天,他醉熏熏地走进了一个小酒吧,把他一身不幸的遭遇告诉了一个比他年长的酒吧伙计。酒吧伙计很同情他,主动提出帮他找到那个使‘他’怀孕而又失踪的流浪汉。唯一的条件是他必须参加伙计他们的‘时间旅行特种部队'
  他们一起进了‘时间飞车 ’。飞车回到六三年时,伙计把流浪汉放了出去。流浪汉莫明其妙地爱上了一个孤儿院长大的姑娘,并使她怀了孕。伙计又乘‘时间飞车’前行九个多月,到医院抢走了刚刚出生的小女婴,并用‘时间飞车’把女婴带回到一九四五年,悄悄地把她放在克力富兰的一个孤儿院里。然后再把稀里糊涂的流浪汉向前带到了一九八五年,并且让他加入了他们的‘时间旅行特种部队' 。
  流浪汉有了正式工作以后,生活走上了正轨。并逐渐地在特种部队里混到了相当不错的地位。有一次,为了完成一个特殊任务,上级派他飞回一九七零年,化装成酒吧伙计去拉一个流浪汉加入他们的特种部队
这个逻辑相当混乱的故事中,只有一个人,其实,仔细分析,就会发现,那个特种部队中,其实他的上级就是这个人,而部队中所有人都是这个人,这个人在这种逻辑混乱中,不断通过时间悖论来复制自己,有点像那个黑客帝国中的特工Smith吧,算是宇宙这个大Matrix中的病毒吧。不知道这里面能量是否守恒。
还有关于时间裂缝,就是说某些人一直生活在某两个时间点之间,他过完了这段时间后,就重新回到起点,再过这个时间,永远没有尽头。奇怪的是,一,他是如何进入到这个时间裂缝中的,二,如果他知道自己陷入了时间裂缝,为什么不能从中跳出来呢?因为不可抗拒的“宿命”?在一瞬间时间无限制地叠加在他的身上?从无中诞生,最后又归于“无”。
写到这儿,差不多把我所知道的一些疑惑都列举出来了,不知道人类还有多久的时间,能去解决这些问题,不过,如果人都不死的话,谁去管这些事情呢,呵呵。

2006-10-07

Try Ruby in your browser!

try ruby
try ruby,
originally uploaded by ShiningRay.

这个是在线的Ruby Shell,无需安装Ruby,你就可以直接体验一下Ruby编程。地址是: http://tryruby.hobix.com/
输入help并回车,下面会逐步给出一些教学的指南,指导一步步上手。估计它是用了RoR和Prototype做的,还是很有创意的,不过因为要和远程服务器交互,反应速度慢了点。

三种人

最近Ruby来势汹汹,Java社区现在都纷纷改行讨论Ruby了,不过牛人还是牛人,新手还是新手。当这些人在不断吹捧Ruby的时候,又有两种人不屑了:

Smalltalk狂热者:这东西,二十年前Smalltalk就有了。
Lisp狂热者:哼,自从Lisp出现之后,就没有人发明过什么新的东西。
其实对于Ruby,虽然吸收了Smalltalk和Perl的优点,但就和其发明者一样所说的一样,要(Smalltalk + Perl) / 2,其实最后的结果是,Ruby就是Ruby,它既不能取代Smalltalk,也不能取代Perl,更不能取代Java,RoR也不可能成为J2EE。RoR只能成为新手入门和老鸟把玩的玩具而已,通过RoR上手的新手们还和当年用ASP、PHP的那些新手一样,要摸着RoR这块石头过河,否则,结果可能还是会产生大量廉价的ASP、PHP程序员,他们只是在不断重复使用着ActiveRecord、Controller、View,当真正需要变化的时候,反而被框架所限制。

2006-10-06

dp.SyntaxHighlighter代码高亮补遗

上一篇,我本以为这就样可以弄好了,但发现情况不对,Blogger会自动将textarea元素的内容中所有的换行改成<br />,如果光这样也好,它会在替换了多少个换行之后,就变成去掉换行,连<br />都没有了,真是奇怪。
最后研究了一下dp.SyntaxHighlighter的代码,写得十分有条理,我将代码中使用textarea标签转换为使用pre标签,这样,blogger也不会在加上讨厌的<br />了,大功告成。以下是经过修改的核心JS脚本,其他各个语法对应的高亮组件无需修改:
http://shiningray.nirvana.googlepages.com/shCore.blogger.js

dp.SyntaxHighlighter代码高亮

UPDATE:由于Blogger的一些限制,导致本文中的一些内容不正确,请查看此篇补遗
有好几个朋友问我,我用的什么语法高亮的组件,还以为我的Blogger设置有什么特别的,其实我倒没有作过什么设置,我一般是使用生成好了的Html代码,然后贴到日志中的,比如,Vim可以生成高亮的HTML代码,Eclipse,Visual Studio可以将带有样式的代码复制为RTF格式,不少编辑器都有这个功能,另外可以使用在线的代码高亮工具,如 http://www.geshi.org/
另外一个在Blogger中可以使用的高亮组件是基于JavaScript的一个dp.SyntaxHighlighter,其实不少地方都可以看到它的。可以先看看它的Demo。也支持不少常见的代码,不过和GeSHi比要少很多,但也够用了。
具体用法是这样的:先下载该组件,将Scripts中shCore.js和所需高亮的语言shXXX.js以及Styles下的SyntaxHighlighter.css上传到某个地方,如果需要自定义,可以根据TestPages.css进行修改。然后在Blogger的模版的body元素末尾加入以下代码:
〈script src="shCore.js" type="text/javascript"〉〈/script〉
〈script src="shBrush[所要加载的高亮语法].js" type="text/javascript"〉〈/script〉
…………
〈script type="text/javascript"〉dp.SyntaxHighlighter.HighlightAll('code');〈/script〉
然后,在代码中添加<textarea class="[语言]" name="code"></textarea>,其中code属性也对应前面HighlightAll('code')中的code。
由于受Blogger程序的限制,代码中部分符号使用全角表示。
测试一下:

"""
Comment\"
string
"""

cache = {}

string s = "## comments inside a string"
string str = "helllo \"world\", how things?"

def arrange(plans, lines, totalMinutes):
"""arrangements of plans taken lines times with an heuristic that the sum
of values in one arrangement is less then totalMinutes
"""
#if in cache we are done otherwise start calculating and save them to cache
if (plans, lines, totalMinutes) in cache:
return cache[(plans, lines, totalMinutes)]
if lines==1:
r = [[plan] for plan in plans]
cache[(plans, lines, totalMinutes)] = r
return r
solutions = []
for plan in plans:
for ar in sort(list(arrange(plans, lines-1, totalMinutes))):
try:
one_solution = tuple(sort([plan] + list(ar)))
if sum(one_solution) <= totalMinutes and one_solution not in solutions:
solutions.append(one_solution)
except Exception, e:
print "Error:", str(e)
cache[(plans, lines, totalMinutes)] = solutions
return solutions

if __name__ == "__main__":
import sys
lines, totalMinutes = int(sys.argv[1]), int(sys.argv[2])
plans = tuple([int(p) for p in sys.argv[3:]])
print "for", lines, totalMinutes, plans
for sol in arrange(plans, lines, totalMinutes):
print sol

在Python Tk中显示图像的一个小问题

最近在用Python做一个小东西,需要将一幅图片(JPG的)显示出来。我选择使用了Python自带现成的Tkinter库,而没有使用wxPython。这要使用PhotoImage结合Label部件来做显示,但因为Tkinter的PhotoImage支持的文件格式较少,另外又用到了PIL来读入图像并提供给部件,死活图像就是显示不出来,代码如下:


1 from Tkinter import *
2 from PIL import ImageTk, Image
3
4 class App(Frame):
5 def __init__(self, master=None):
6 Frame.__init__(self, master=master)
7 file = "C:\\Develope\\printer.gif"
8 self.ima = Label(master, image=ImageTk.PhotoImage(Image.open(file)), bd=0)
9 self.ima.pack(fill="both", anchor="w", side="top", expand=1)
10
11 root = Tk()
12 app = App(master=root)
13 app.mainloop()
14
以上这段代码虽然能运行,但无法显示图像,我百思不得其解,翻阅了很多资料,并没有发现我的代码在哪儿有问题,我还一直以为是Tk的某个开关弄错了,后来找到了一个例子,仔细对比之后,发现了一个小问题——这个例子中是将ImageTk.PhotoImage的实例作为对象的成员变量存储的,而我是直接作为引用传递过去了,知道了这一点之后,我将代码改写成这样:

1 from Tkinter import *
2 from PIL import ImageTk, Image
3
4 class App(Frame):
5 def __init__(self, master=None):
6 Frame.__init__(self, master=master)
7 file = "C:\\Develope\\printer.gif"
8 self.im = ImageTk.PhotoImage(Image.open(file))
9 self.ima = Label(master, image=self.im, bd=0)
10 self.ima.pack(fill="both", anchor="w", side="top", expand=1)
11
12 root = Tk()
13 app = App(master=root)
14 app.mainloop()
15
图像就顺利显示出来了。
但依然一些不明白的地方,原先我的图像去哪儿了呢?莫非被垃圾收集器给回收了?难道Tk的模块不使用引用?看来还得请教高手啊。

2006-10-05

Google Groups又有Beta了

想当初Nirvana Studio Groups是在Google Groups还在第一次Beta测试的时候申请的,现在Google Groups又出新版本了,可以通过以前的Beta链接看看新的样子:http://groups-beta.google.com/group/nirvanastudio
着实有了不少改进,变得不仅仅像一个Mailing List了,似乎更加像现行的论坛、BBS(可不是以前的)了。

Google Code Search

Google又推出了代码搜索,http://www.google.com/codesearch,另一个专门搜索引擎,这个搜索除了搜索的对方特别外,还有独特的使用方法,它可以使用正则表达式(POSIX extended regular expression syntax)进行搜索,除了内容,文件名也可以使用正则表达式,同时可以指定所需搜索的语言、许可证、包(package)等。
不过一时还不知道能用它搜索什么东西,光是某个代码文件,也许用途不大。

揭密明星真实身份[收藏]

本文来自北青网,http://ent.ynet.com/view.jsp?oid=16339150&pageno=1 来源:重庆晨报

  (南尘)娱乐圈向来星光熠熠,万众瞩目,衣着光鲜的明星们既有着令普通人羡慕的高知名度,又有着一般人望尘莫及的高收入,每一个明星还几乎都有着庞大的粉丝群,每到一处,他们都会受到众多粉丝的热辣追捧。难怪,有那么多的平民选秀风行一时,因为大家都有一个“明星梦”。
  但明星并不是一夜之间就可产生的,打铁还需自身硬,万丈高楼从地起。并且,明星也有落难潦倒的时候,就像《真心英雄》里所唱的那样:没有谁随随便便就能成功。在此,本报特地回放成龙、李安、梁朝伟、周星驰等巨星的最潦倒时光,想想,要是他们在潦倒时没有继续坚持的话,他们也不会成为今天这个娱乐圈里的一代巨星。
  黎明:差点进不了演艺圈
  高大帅气的黎明当年在进演艺圈时连遭打击,报考香港演艺学院却未被录取,报考无线艺员训练班遭遇训练班被无故取消。幸好他1986年参加新秀歌唱大赛获得铜奖,才如愿签约华星,撞开了演艺圈的大门。
  不过,华星并不认为黎明会红,去台湾拍戏,身高1.8米的他在与身高1.6米的某“玉女红星”演爱情戏时,结果这名女星居然当场要求黎明“蹲马步”,把自己变矮一截以屈就她的身高。
  周星驰:遭当面泼冷水
  1987年时的周星驰,刚刚结束在《射雕英雄传》中跑龙套,同时又在万梓良、郑裕玲主演的《生命之旅》中演上了大配角。在拍剧休息时,周星驰和郑裕玲闲谈,谈及自己的前途,周星驰曾问对方自己会否走红,结果郑裕玲说了一句:“你不会红。”由于当时周星驰已经被很多人看扁,但这回被人亲口说出来,实在伤心。
  成龙:被古龙看扁洗手间大哭
  30年前,成龙已经在香港电影圈混了好几年了,从武师、替身,到动作指导,再到干爹罗维捧他做男主角,他觉得自己应该红。罗维确实也费尽心思,当时古龙的武侠片最火,谁拍谁赚,谁演谁红,他就找古龙买下版权,想让成龙出演男主角。
  罗维当年是大导演,古龙自然乐意卖版权,但与成龙一见面,这位武侠名家就十分不悦,因为他觉得成龙大鼻子,长得又不帅。之后一起喝酒,古龙醉意上涌,终于忍不住:“我小说的男主角是给狄龙、尔冬升拍的。”成龙被古龙如此看扁,却也只能忍气吞声,借故去洗手间大哭一场,出来后又满脸笑容。
  王家卫:屡屡误工被炒鱿鱼
  上世纪80年代,王家卫还只是个编剧,但已经养成不按时交工的习惯。有次王家卫为新艺城电影公司写剧本,搞了数月不见动静。这下气坏了老板黄百鸣,当即把他找来。面对老板质问,王家卫的解释是,他要什么事都不做、什么人都不见,独自冷静地想出一个伟大的剧本。
  谁知王家卫的这套说词,根本无法打动同样也是编剧出身的黄百鸣,只是严令他两个星期交稿。结果王家卫拖到一个月才交剧本,而黄百鸣和导演一看,觉得根本是“废纸一堆”,于是毫不迟疑将他炒掉。
  李安:当了6年居家男人
  当年,思想传统的李安父亲认为,李安从事演艺事业有辱门风,更看扁他不会有所作为。这使得李安在美国学完电影后,在家一呆六年,经济来源全靠身为药物研究员的妻子工作,自己则做居家男人,煮饭烧菜。更让李安哭笑不得的是,岳父岳母尝了他的手艺赞不绝口,还提出干脆投资给李安开馆子。明星入行前做什么?

  • 成龙:建筑工人,在澳洲负责盖房子
  • 周星驰:帮外婆摆地摊卖小五金,卖过眼镜、电器,月薪600港币
  • 刘德华:美发院的洗头仔
  • 张学友:玩具包装工人,月薪几百港币
  • 梁朝伟:电器产品推销员郭富城:冷气技工
  • 张柏芝:茶餐厅女侍应、点心妹、地盘工人、卡拉OK侍应,为补贴家用,一天内做4份工作
  • 张曼玉:服装店售货员
  • 周杰伦:因找不到工作,曾当餐馆服务生,月薪4000台币
  • 吴宗宪:加油站工人

2006-10-04

PHP怪现象[5]

这次要说的是PHP5中的一种叫做type hinting(类型暗示)的东西,从使用上来说,接近于Java这类静态类型的类型检查,比如:

<?
interface A{
function a();
}
class AA implements A{
public function a(){
print "A";
}
}
function b(A $a){
$a->a();
}
?>

如果现在运行b(new AA());则会顺利通过,输出一个A,而使用任何其他类型的,比如b(new stdClass());b(1);b("a");之类的,都会出现这种错误:Fatal error: Argument 1 passed to b() must implement interface A, called in ....
应该说,这东西确实给OOP中的类型检测带来了福音,我们无须写if(xx instanceof xxx)这类繁琐的判断语句了。不过,这功能也有点鸡肋的嫌疑。原因有三:

  1. PHP是动态类型的,又是弱类型的,这种type hinting只是虚拟机层次上的动态类型判断,即不能做到编译时提前检查出一些类型错误,也不能给予性能上的极大的提升,
  2. 无法处理基本类型,如string, int——如果将这些东西应用在这个位置上(不过PHP5.1开始array也可以,真是很奇怪),PHP会检查有没有叫做string、int的类或接口;而同样具有type hinting的perl 6,则作的相对更好,比如Perl 6中至少可以将type hinting应用于基本类型上
  3. 不能进行函数重载,如果实现了的话,PHP可能就变成Generic Programming了,但对于PHP这种动态语言来说,这并不是必要的,但现在又具备了type hinting,为何却不能根据类型来进行一些推断(type inference)呢?

2006-10-02

Vim vs Emacs 续

这次是接续上一次,用了一段时间的Emacs,我得出的结论是:作为一个编辑器Vim才是王者,原因是,当理解了所输入的键盘指令,就可以组合出各种花样。
比如,删除一整行、一个单词、删除到某个字符出现、删除一个句子,Emacs中需要分别绑定一个按键,可能还需要分别写函数,而Vim只需要使用d或x命令,加上一些范围指令dd, dw, d/...等等。这些是单纯目前的Emacs所不能做到的——我试用了Viper,能够实现很多功能,但还不够理想。
不过我觉得Emacs的优势也是明显的,Lisp是一个完整的语言,而Vim脚本则很依赖Vim的功能。使用elisp自定义函数时,我写了一个为某个选区两边加上双引号的小程序,并绑定到某个按键,很快就搞定,通过自带的info查询了一些函数,就搞定了,而Vim的脚本,需要处理normal 模式、insert模式,需要使用execute模仿指令输入而非直接调用函数,并不很直观。使用Lisp编程感觉也更加舒服自然。
不过这次的研究,也让我对Vim的认识更上了一个台阶,过去一直没有接触过Vim的脚本,也不知道如何使用Vim定义按键,也不知道Vim的abbrev,这次通过和Emacs的对比,也让我了解不少。
不知道哪位Emacs牛人,能指点一下,让我能明白Emacs的更妙用途

新版Wallop邀请发放


Wallop是一个很著名的SNS的应用,之前在学校的时候,因为网络问题,未能享用,而后收到邀请尝试了一下,发现纯Flash的还是很卡,随后就放弃了。这次JunChen告诉我有新版的Wallop,而且改进颇多,用起来很爽。 想尝试的朋友,可以向我索取。

2006-10-01

一个生成网站页面节点的工具

nirvanastudio tree
nirvanastudio tree,
originally uploaded by ShiningRay.
左边这张奇怪的图片(看上去像某种菌落)其实是 http://www.nirvanastudio.org 的内部页面的关系图,来自 http://www.aharef.info/static/htmlgraph/

2006-09-30

Nirvana Studio 首页PR又升了

前一段时候工作室的主页的PR被Google无情地降到了3……今天又发现它长到了5,希望这次可以稳定下来~。

Emacs vs Vim

一直听某些人说,Emacs是最强的代码编辑器,甚至是一种信仰,不过也常听说Emacs is evil。
过去一直用VIM,随着不断的成长,也受很多人的喜爱,现在对于谁是代码编辑器之王,这两拨人动不动就要吵,有些是从Emacs转到Vim,有些则相反。
这两天搞了个XEmacs玩玩,为什么不用GNU Emacs?因为GNU Emacs对中文支持不好(Windows下)。
Emacs有两个搞笑的名字

  • 是Emacs Makes A Computer Slow的缩写
  • 是Escape Meta-Shift-Backspace-Control x c
用了之后,花了几个小时定义了自己的配置,才觉得,别人说Emacs是种信仰有那么一点道理。和Vim比,除了对Vim的脚本不太适应之外,Emacs的elisp提供了更多的函数来完成任务,而Vim脚本常需要使用execute来模拟键盘输入的指令。而反过来说,虽然Emacs的可自定义能力很强,但Vim预定义的各种命令,已经可以完成Emacs中很多需要自定义的东西了。
真是很难取舍。

2006-09-26

有趣的Nvidia Firewall

今天在公司的机器上装了新的nForce4主板的驱动,驱动中带了一个nvidia firewall,我看那就试试吧,结果,先不说网上邻居不能看,我用ab从局域网上别的机器上测试Apache,居然一个phpinfo()页面要2秒,太不可思议了,删之。
而且,nvidia firewall的配置界面是基于Web的,我一看进程,居然是启动了Apache2,运行了一个cgi,这也太……
所以大家也最好别用nvidia firewall

给VMWare的虚拟机启用3D加速

请访问:
http://shiningray.cn/2006/09/26/gei-vmware-de-xu-ni-ji-qi-yong-3d-jia-su/

2006-09-24

The Vision

看了Nicholas的这篇梦的记录,我也想写一下,这是好几天前做的梦了,但是还是要写一下。那简直就是好莱坞大型科幻片。大致的内容是:
某种 未知的力量——可能是外星人,也可能是神——将美国的太平洋舰队传送到了俄罗斯的军事港口,而把俄罗斯的舰队传送到了美国的军事港口,我当时站在俄罗斯的 港口(也可能是中国某港口)附近的大楼上,看着成群的舰队莫名地凭空出现,巨型的航母、舰队在眼前慕为壮观,而当了解了那是美国的舰队之后,感到了无名的 恐惧,然后可想而知,不知是哪一方先开火,整个港口乱成一团,双方猛烈的攻击着,甚至一些舰船直接冲到了岸上。而我便和大家一起,沿着一个圆形的楼梯一直 往下一直往下走,逃往一个地下的区域——似乎,这已经是世界末日了…………
这是一个,还有另一个则很有生活情调,我走在马路上,应该是类似西方电 影中常出现的那种小路,路两旁是很高的白色栅栏,人行道上或有一些小树。我走到了一个商店门口,商店前有较长的台阶——目测门离马路约20米,高2米,商 店门面类似于肯德基,左边是门,右边整块都是玻璃,我可以透过玻璃看到里面有一些小资妇女在吃着一些甜点,她们应该是坐在沙发上——也是类似于肯德基那种 和墙壁合在一起的沙发。于是我也走进去,问服务生要东西吃,她说,这些点心都是免费的,随意吃,于是乎,我就坐在那边的沙发上吃了起来,而后,有人(一男 一女,男的很瘦,很高,女的则约是中年)请我去这个店内庭去吃东西,里面起初十分狭小,而后我们吃了点东西,进入了一个十分旷阔的类似于体育馆的地方,而 我觉得,更像是没人的火车站,而这里面却有一些小孩玩的那种小型游乐场(肯德基、麦当劳那种)。
我并不清楚这些意味着什么,不过,记录自己的梦境,却是一件很有意思的事情。

2006-09-22

不可思议的驴子

一天,一个农民的驴子掉到了一口枯井里,驴子在里面凄惨的叫了好几个钟头,农民也是急的团团转,就是想不出办法救它上来.最后,他断然决定,反正这口枯井早就该填平了,而驴子也已经老了,不值得花这么大精力救了.

农民聚集邻居帮他填井,大家拿着铁锹开始往井里填土.驴子很快意识到发生的事情,起初,它只是更加恐慌的嚎叫.不一会儿,它居然安静下来.农民按耐不住好奇的心理,往里面看,眼前的情景令他惊呆了.

每一铲土砸到驴子身上,都被它快速的抖落掉,然后狠狠的用脚踩紧.就这样,没过多久,驴子竟然把自己升到了井口,纵身跳了出来,快步跑开了.在场的每一个人都惊诧不已.

评:其实生活也是如此.各种各样的困难和挫折,都会如尘土般落到我们的头上,要想从这苦难的枯井里逃生,走向人生的成功和辉煌,办法只有一个,那就是:将它们统统抖落在地,重重的踩在脚下.因为,生活中的我们遇到的每一个困难,每一次失败,其实都是人生历程中的一块垫脚石.

Re: [NirvanaStudio] [Nicholas @ Nirvana Studio] JavaEye 中一篇有趣的文章

现在很多学习RoR的人,其实就像以前学ASP、PHP的人一样……

另外就这个人说render这个词,第一个是这个词来自计算机图形学,在这个上面已
经有固定翻译,叫做*渲染*。
而RoR中的这个render,是一个来自于MVC模式和模版模式的常用词,如PEAA中的
Template View模式<http:
//www.martinfowler.com/eaaCatalog/templateView.html>,它的定义为/Renders
information into HTML by embedding markers in an HTML page./而这个模式其
实是来自过去的UI编程,比如MVC,最初来自于过去的Smalltalk-80,20年前的东
西,那时候还没有什么 Web应用,而后才被借鉴到B/S架构的应用中,也就是说,
Render不过是借用图像编程的数据。然而,在英文中,其实本来也是没有render a
view这种固定用法的。

好吧,我们再来仔细研究一下Render的解释:
render
vt.
报答; 归还(back); 交纳
提出, 开出(帐单、理由等); 报告, 呈递; 作出(判决等)
给与(帮忙等); 表示(敬意、服从、关心等)
让与, 放弃(up); 移交, 托付
致使, 使变为
表现, 描写(个性等); 表演, 朗诵, 演奏(音乐等); 翻译(into)
反映, 反响, 反应
给...重新措词, 复制
提取(脂肪), 炼(油)
放出, 放松(滑车上的索子)
【建】给...初涂[打底]; 粉刷; 给...抹灰
render good for evil
以德报怨
render a bill
开出帐单
render thanks to
感谢, 报答
*render a play into English *
*把一个剧本译成英语*
You have rendered great service.
你们帮了很大的忙。
【习惯用语】
render certain
确保, 保征
render down
把...熬成油; 把...熬成液体
*render into *
*译成(某种语言)*
render oneself up to
投降
render up
做(祷告); 放弃, 交出
也就是说,/Renders information into HTML by embedding markers in an HTML
page./这里render按照习惯用语应当翻译成"将信息*翻译*成HTML"。
而PEAA中的Two Step View的定义是这样的:Turns domain data into HTML in
two steps: first by forming some kind of logical page, then rendering
the logical page into HTML。同样的,在这里,如果按照render真正的习惯用
语,确实应该翻译成"*翻译*"。
反观"呈递、呈现"这个翻译,并不能说不好,其实提出这个翻译的这位朋友,估计
还不了解这个词背后的渊源,因为render已经有所定论,就像很多计算机术语,台
湾和大陆的翻译就不同,但只需要了解其中的意思就可以了,沿用下来就行。再
者,上面的"翻译"的翻译,在某些语境下也应该采纳才对。

另外,在我的印象中,似乎刚学习HTML编程的时候,对Render翻译成"渲染"也颇有
微词,而当我了解了HTML与图形编程之间的渊源之后,我就认为,将Render翻译成
渲染,还是十分恰当。


Nicholas @ Nirvana Studio 写道:
> 原文在:http://www.javaeye.com/topic/24453
> 最近似乎因为 RoR 的缘故,上 JavaEye 总带着异样的眼光,这不刚去 Ruby 专
> 区看看又有感慨了。
> Render 一词毫无疑问翻译为"渲染",在 Web 开发中用的实在常见,居然遭到质
> 疑,不可否认怀疑的态度是好的,但是有点过了...
>
> --
> Posted By Nicholas @ Nirvana Studio to Nicholas @ Nirvana Studio
> <http://nicholasdsj.blogspot.com/2006/09/javaeye.html> at 9/22/2006
> 12:07:00 上午
> --~--~---------~--~----~------------~-------~--~----~
> 您收到此信息是由于您订阅了 Google 论坛"NirvanaStudio"论坛。
> 要在此论坛发帖,请发电子邮件到 nirvanastudio@googlegroups.com
> 要退订此论坛,请发邮件至 nirvanastudio-unsubscribe@googlegroups.com
> 更多选项,请通过 http://groups.google.com/group/nirvanastudio 访问该论坛
> -~----------~----~----~----~------~----~------~--~---
>

2006-09-20

Squid 2.6配置的注意事项

请访问:
http://shiningray.cn/2006/09/20/squid26-2/

MovableType个人版3.3 的一个小问题

今天帮JunChen看了一下MT,我发现MT的目录下面有一个PHP目录,一看,里面都是PHP代码,还有一个Smarty,难道是MT也支持PHP运行,十分可疑。
不知道有哪位朋友了解,呵呵。

2006-09-19

Perl复习

我在高中的时候曾经学习过一段时间的Perl,是为了给“宇宙工作室” 制作一个下载站点,为了找一个动态的免费空间可不容易啊,当时是51.net提供了免费的cgi空间,支持Perl,于是乎,特地学习了Perl,并在网上寻找了一个免费的代码改了一遍,
时过6年,又想重新学习Perl——毕竟是一个风靡一时的语言,而且其CPAN中丰富的包,也是相当实用的。
话又说回来,时过六年,Perl6也没有推出,实在是一个遗憾。
从大学开始学习了PHP,PHP从Perl中借鉴了很多东西,比如$式的变量,但实际上和Perl还是有很大区别的,之前我曾经翻译过一篇PHP 对比 PERL,从中可以看出很多不同的地方。
比如,其实Perl是一个函数式编程语言,有词法范围。
关于具体的细节,我会整理一个表格列出来,希望对其他学习两者的朋友有所帮助。

流氓来了,电信的星空急速

今早起床,开机,上网,然后打开Google,莫名其妙跳出来上海电信星空互联的页面,如下:
星空急速
然后我断线,再拨号,换个自己的网站看看,还是会先进入这个页面,那么就让我看看这个星空急速客户端到底有什么好的,一看介绍

3.0版客户端软件在前期版本的基础上为您增加了更多细致体贴的功能,主要表现在:
通过和各类SP的积极合作,将内容丰富,趣味多样的应用程序以插件的形式集成在客户端内,将上网用户常用的浏览器以定制的形式无缝整合到“星空极速”客
户端上,同时为了宽带用户帐户安全,新的版本提供了宽带帐户和密码修改功能等。
·灵活的拨号上网方式,如宽带ADSL、主叫上网、固定帐号上网、上网卡上网、窄带VPDN上网等;
·客户端界面采用Windows系统图形风格的用户界面;
·接入与互联星空服务应用验证一次完成;
·内置丰富多彩的互联星空服务;
·提供宽带帐户密码修改功能;
·强大的网络诊断功能,帮助用户轻松解决网络故障;
·支持SP开发的服务插件,为客户端扩展功能提供了途径;
·支持多种多个帐号,操作风格统一;
·强大的在线升级功能;
·完善的帮助文档;
·支持多个版本的Windows操作系统。

使用星空极速上海定制版,获取上海互联星空积分

自定义系统自启动程序

进程管理

ping检测、DNS检测

安全服务检测

本机系统漏洞检测、路由路径检测

系统清理、IE修复


星空极速软件介绍:
客户端插件是实现不断完善“星空极速”客户端功能和
扩充应用服务最有效的手段。插件不但可以便捷地实现
电信自营业务的客户端集成,而且是实现客户端安全、
网络检测以及第三方软件功能的重要保证。您可以通过
插件管理功能来管理客户端现有的插件,从中选择自己
需要的插件服务内容。
这不是3721再生么,还提高了一个档次,来头不小啊,这次是可以控制上网一切物质条件的电信啊!

2006-09-16

PHP之怪现象[3]

这次要说的怪现象在于PHP的性能问题,且不说PHP的性能有多差,因为毕竟是一个脚本语言,不能奢望其速度多快,但PHP的性能的奇怪问题确实很特别:

  1. 版本的提升并未带来性能的提升——PHP5比PHP4慢
  2. 通过一些字节码优化器来大幅度提高性能
关于第一点,可以看一些对比(数据来自http://byster.net/):


PHP: version 4.3.10 vs PHP: version 5.0.5
PC: Celeron 2.0Mhz / 512Mb

PHP 4 PHP 5

Creating int array[100 000]

for vs while
code
[ms]
for($i=0;$i<10000;$i++)0.0630.087
while($i<10000)>0.0570.086

Reading int array[100 000]

while vs foreach vs or
foreach($arr1 as $vl) {..} 0.0850.171
while(list(,$vl) = each($arr2)) {..} 0.2610.335
for($i=0;$i<10000;$i++)0.1230.163

Reading apache log (16Mb)

file vs file_get_content vs fread
$a = file("t1.log");0.2700.274
$b = file_get_contents("t1.log");0.1200.121
.. $c = fread($hdl, $size); .. 0.1330.141

Parse vars names [100 000]

"test$i" vs "test".$i vs ‘test’.$i
for(…) {$c = "test$i";}0.3160.354
for(…) {$c = "test".$i;}0.2050.236
for(…) {$c = ‘test’.$i;}0.2050.236

Parse and find text from apache log (32Mb)

ereg vs preg_match
eregi("2005:03:04",$txt);3.5043.521
preg_match("/2005:03:04/im",$txt);0.1080.735

Split text apache log 200Kb (contain 2000 "-")

split vs explode
split("-",$txt);1.5611.573
explode("-",$txt);0.1930.197

Count array size. $arr = int[100 000]

count vs sizeof
for($i=0;$i<count($arr);$i++)0.1980.276
for($i=0;$i<sizeof($arr);$i++)0.1980.268

Create object by Ref (loop 100 000)

with ref vs without ref
(…) {$j = & new TestClass();}0.4601.180
(…) {$j = new TestClass(); }0.4701.291

Random number generator (loop 100 000)

srand vs mt_srand
(…) { srand(); } 0.1850.193
(…) { mt_srand(); } 0.9290.989

Calculate hash (loop 100 000)

srand vs mt_srand
(…) { md5($i."byster.net".$i); } 1.3061.365
(…) { sha1($i."byster.net".$i);}1.4921.662
至于第二点,其实也不用多说了,Zend Encoder、Zend Optimizer、eAccelerator、APC等等,而不得不提的是 ,经过Zend Encoder过的PHP代码,只能在有Zend Encoder或者Zend Optimizer的情况下才可以运行,而Zend Encoder是个商业软件。

Currying的翻译

请访问:
http://shiningray.cn/2006/09/16/currying-de-fan-yi/

2006-09-15

PHP之怪现象(2)

在前面一篇文章PHP之怪现象 中,说到了array()是值复制而非引用的,那么要使用引用的数组,要怎么办呢,PHP5引入的奇特的Standard PHP Library
其中有一个ArrayObject,可以实现引用的数组:
$a = array(1,2,3);
$arrobj = new ArrayObject($a);
这样就可以得到一个行为基本和原始array()一样的一个ArrayObject实例,你也可对其进行foreach操作,不过和基本的array()有一些区别:

  1. 大多数array相关的函数不能使用,如count(),必须使用ArrayObject的count()方法,象array_push() array_pop()等则无法使用
  2. 对ArrayObject使用[]取出某个值的时候,如$arrobj['a'],如果要对这个值进行处理如--、++、[]=等操作,不能使用链式表达式,必须先将这个值取到某个变量中才能使用,如下是错误的:
    $arrobj[1]++; $arrobj[0]--; $arrobj[2][0] = 1;

  3. ArrayObject的性能比array()的性能差很多,慢一倍多点

说完了ArrayObject,还要说一下和ArrayObject密切相关的另一个东西ArrayIterator,一个数组的迭代器。很难说明SPL的目的到底是什么。下面先看看SPL的一张类图



如此复杂的类图,第一眼看,觉得很象Java,但PHP没有OOP中万物之本的Object类(其实如果用类型转换的object转换,是可以得到一个奇怪的stdClass的实例,但没人知道这是干什么用的),如果说是像C++,又少了GP的支持,而PHP低下的运行效率――不要说和Java比,就是和Lua比,也差太多了,谁敢使用这么庞大复杂的类库呢?

2006-09-14

PHP之怪现象

下面总结一些我发现的PHP的奇怪事情:

1.array()并非引用类型
array()并非一个对象的构造函数,它是一个语言结构,它返回的虽然是一个结合数组,但并非一个对象,即时在所谓OO的PHP5中,也是有问题的:
$a = array(...);
$b = $a;
print $b === $a;
这时候,确实输出为1,表示两者一致,PHP的手册上是这么说的:
$a == $b 相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE
$a === $b 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE
所以,===对于对象来说,才是同一性比较
如果这时修改$b的某个值,那么$b就和$a不等了
$b[0] = 5;
print $b === $a;
这时什么也不输出,表示为false
如果要获取$a的引用,必须强制性地使用&操作符
$b =& $a;
由此引出了2

2. foreach和each()等数组操作

foreach($arr as $k => $v)表示遍历$arr中的每个元素$e,同样的,这个$v是=出来的,相当于$arr[$k] = $v,而非$arr[$k] =& $v,并非$arr中的实际元素,那就有两种情况:
  1. $arr[$k]这个元素正好是一个对象,这时其中存储的其实是一个引用,那么$v可以正确指向最终的对象
  2. 之外所有的类型,都是一个副本,如果是一个数组,那么是数组的副本
因此,如果要实际改变$arr中的元素,应当使用$arr[$k],而非$v。
这种问题同样可出现在其他数组操作,each(),current()等。
2. include和eval
include和eval哪个快?
答案是eval快,这个确实比较奇怪,即使算上文件操作,纯粹执行代码,eval(file_get_contents($file))要比include快那么一点。
问题可能在于include要处理<?php ?>这些东西,而eval仅处理php代码。
其它的以后再慢慢总结

Nirvana Studio JavaScript 经典文章收藏

NirvanaStudio 对于 JavaScript
的研究还是比较深刻的,对于想深入学习 JavaScript
的朋友们来说下面的文章应该是不错的内容。

1. 如何优化JavaScript脚本的性能
http://www.nirvanastudio.org/javascript/improve-javascript-performanc...

2. JavaScript = C + Lisp
http://www.nirvanastudio.org/javascript/javascript-c-lisp.html

3. 函数式JavaScript编程指南
http://www.nirvanastudio.org/wp-content/uploads/2006/04/Functional_Ja...

4. JavaScript中的类继承
http://www.nirvanastudio.org/javascript/classical-inheritance-in-java...

5. JavaScript Templates
http://www.nirvanastudio.org/javascript/javascript-templates.html

6. JavaScript中的私有成员
http://www.nirvanastudio.org/javascript/private-members-in-javascript...

7. JavaScript:世界上最被误解的语言
http://www.nirvanastudio.org/javascript/javascript-the-worlds-most-mi...

8. 编写自己的dojo扩展
http://www.nirvanastudio.org/javascript/%e7%bc%96%e5%86%99%e8%87%aa%e...

JavaScript高级程序设计

来源:Nirvana Studio
profession-javascript-cover.jpg

基本信息

  • 【英文名】Professional JavaScript for Web Developers
  • 【作者】Nicholas C. Zakas
  • 【译者】曹力 张欣
  • 【ISBN】7115152098
  • 【出版时间】2006-9-15
  • 【页码】670
  • 【原出版社】Wrox
  • 【简介】本书从最早期Netscape浏览器中的Javascript开始讲起,直到当前它对XML和Web服务的具体支持,展示了如何充分利用这种功能强大的语言开发自己的应用程序,以解决当今Web开发者面对的商业问题。
  • 活动主页

译者序

亲爱的读者:

当您从书架上拿出这本书的时候,我想您肯定对Ajax技术有着浓厚的兴趣,而本书也正是您的正确选择。本书的作者Nicholas C. Zakas用通俗易懂的语言,将JavaScript的诞生、现在的状况、未来的发展和与其紧密相关的各种技术一一详尽地叙述出来,刚学 JavaScript的朋友,可以按部就班成为高手,而已经是高手的朋友,则可以将本书作为参考手册。

第1章讲述了JavaScript的起源,给大家一个关于JavaScript正确的认知。

第2~5章详细介绍了JavaScript语言本身,揭示了一些JavaScript不为认知的语言特点。

第6~9章介绍了JavaScript和浏览器进行交互的一些基础知识和一些进阶知识,如DOM的基础、正则表达式。

第10~13章介绍了一些更加高级的JavaScript技巧,这些技巧可以构建良好的客户端逻辑,包括表格排序、拖动等。

第14章关于错误处理的内容,既有如何编程处理JavaScript错误,也包含了如何调试JavaScript的方法,而调试一直是JavaScript的弱项。

第16、17章讲述了利用JavaScript进行客户端到服务器的同学,不仅仅介绍了现在的Ajax技术的基础XML HTTP Request,还介绍了曾经出现过的一些方法。第17章更明确的介绍了如何调用Web服务。

第19章,介绍了如何考虑生产环境中JavaScript所需要注意的一些事情,如安全性、性能等。

第20章,展望了JavaScript未来的发展。

本书除了介绍了JavaScript的各个方面外,更难得的是,作者更涵盖了现今各个流行浏览器之间在这些方面的区别,并帮助读者,解决这些问题。

本书第1~5章由张欣翻译,第6~20章由曹力翻译,全书由张欣统稿、润色及审校。还要感谢全体工作人员的努力才将本书完成。

我们深深地感我们的家人和朋友。在翻译过程中,他们给予了我们莫大的关心、支持和帮助。

限于我们的水平,翻译过程中的疏漏和错误再作难免,请广大读者批评指正。

曹力
2006年于东南大学

目录

第1章  JavaScript是什么 1
1.1 历史简述 1
1.2 JavaScript实现 2
1.2.1 ECMAScript 3
1.2.2 DOM 5
1.2.3 BOM 8
1.3 小结 8
第2章 ECMAScript基础 9
2.1 语法 9
2.2 变量 10
2.3 关键字 12
2.4 保留字 12
2.5 原始值和引用值 13
2.6 原始类型 13
2.6.1 typeof运算符 14
2.6.2 Undefined类型 14
2.6.3 Null类型 15
2.6.4 Boolean类型 15
2.6.5 Number类型 15
2.6.6 String类型 17
2.7 转换 18
2.7.1 转换成字符串 18
2.7.2 转换成数字 19
2.7.3 强制类型转换 20
2.8 引用类型 22
2.8.1 Object类 22
2.8.2 Boolean类 23
2.8.3 Number类 23
2.8.4 String类 24
2.8.5 instanceof运算符 28
2.9 运算符 28
2.9.1 一元运算符 28
2.9.2 位运算符 32
2.9.3 Boolean运算符 37
2.9.4 乘性运算符 40
2.9.5 加性运算符 41
2.9.6 关系运算符 42
2.9.7 等性运算符 43
2.9.8 条件运算符 45
2.9.9 赋值运算符 45
2.9.10 逗号运算符 46
2.10 语句 46
2.10.1 if语句 46
2.10.2 迭代语句 47
2.10.3 有标签的语句 48
2.10.4 break语句和continue语句 48
2.10.5 with语句 50
2.10.6 switch语句 50
2.11 函数 51
2.11.1 无重载 53
2.11.2 arguments对象 53
2.11.3 Function类 54
2.11.4 闭包 56
2.12 小结 57
第3章 对象基础 58
3.1 面向对象术语 58
3.1.1 面向对象语言的要求 58
3.1.2 对象的构成 59
3.2 对象应用 59
3.2.1 声明和实例化 59
3.2.2 对象引用 59
3.2.3 对象废除 59
3.2.4 早绑定和晚绑定 60
3.3 对象的类型 60
3.3.1 本地对象 60
3.3.2 内置对象 70
3.3.3 宿主对象 75
3.4 作用域 75
3.4.1 公用、受保护和私有作用域 75
3.4.2 静态作用域并非静态的 76
3.4.3 关键字this 76
3.5 定义类或对象 78
3.5.1 工厂方式 78
3.5.2 构造函数方式 80
3.5.3 原型方式 80
3.5.4 混合的构造函数/原型方式 81
3.5.5 动态原型方法 82
3.5.6 混合工厂方式 83
3.5.7 采用哪种方式 84
3.5.8 实例 84
3.6 修改对象 86
3.6.1 创建新方法 86
3.6.2 重定义已有方法 87
3.6.3 极晚绑定 88
3.7 小结 88
第4章 继承 89
4.1 继承机制实例 89
4.2 继承机制的实现 90
4.2.1 继承的方式 90
4.2.2 一个更实际的例子 96
4.3 其他继承方式 100
4.3.1 zInherit 100
4.3.2 xbObjects 104
4.4 小结 108
第5章 浏览器中的JavaScript 109
5.1 HTML中的JavaScript 109
5.1.1 〈script/〉标签 109
5.1.2 外部文件格式 110
5.1.3 内嵌代码和外部文件 111
5.1.4 标签放置 111
5.1.5 隐藏还是不隐藏 113
5.1.6 〈noscript/〉标签 113
5.1.7 XHTML中的改变 114
5.2 SVG中的JavaScript 116
5.2.1 SVG基础 116
5.2.2 SVG中的〈script/〉标签 117
5.2.3 SVG中的标签放置 118
5.3 BOM 119
5.3.1 window对象 119
5.3.2 document对象 130
5.3.3 location对象 133
5.3.4 navigator对象 135
5.3.5 screen对象 136
5.4 小结 137
第6章 DOM基础 138
6.1 什么是DOM? 138
6.1.1 XML简介 138
6.1.2 针对XML的API 141
6.1.3 节点的层次 141
6.1.4 特定语言的DOM 144
6.2 对DOM的支持 145
6.3 使用DOM 145
6.3.1 访问相关的节点 145
6.3.2 检测节点类型 146
6.3.3 处理特性 147
6.3.4 访问指定节点 148
6.3.5 创建和操作节点 150
6.4 HTML DOM特征功能 155
6.4.1 让特性像属性一样 155
6.4.2 table方法 156
6.5 遍历DOM 158
6.5.1 NodeIterator 158
6.5.2 TreeWalker 163
6.6 测试与DOM标准的一致性 165
6.7 DOM Level 3 166
6.8 小结 166
第7章 正则表达式 167
7.1 正则表达式支持 167
7.1.1 使用RegExp对象 168
7.1.2 扩展的字符串方法 169
7.2 简单模式 170
7.2.1 元字符 170
7.2.2 使用特殊字符 170
7.2.3 字符类 172
7.2.4 量词 174
7.3 复杂模式 177
7.3.1 分组 177
7.3.2 反向引用 178
7.3.3 候选 179
7.3.4 非捕获性分组 180
7.3.5 前瞻 181
7.3.6 边界 182
7.3.7 多行模式 183
7.4 理解RegExp对象 184
7.4.1 实例属性 184
7.4.2 静态属性 185
7.5 常用模式 186
7.5.1 验证日期 187
7.5.2 验证信用卡号 188
7.5.3 验证电子邮件地址 192
7.6 小结 193
第8章 检测浏览器和操作系统 194
8.1 navigator对象 194
8.2 检测浏览器的方式 194
8.2.1 对象/特征检测法 194
8.2.2 user-agent字符串检测法 195
8.3 user-agent字符串简史 196
8.3.1 Netscape Navigator 3.0与 IE3.0 196
8.3.2 Netscape Communicator 4.0与IE 4.0 197
8.3.3 IE 5.0及更高版本 198
8.3.4 Mozilla 198
8.3.5 Opera 200
8.3.6 Safari 201
8.3.7 结语 201
8.4 浏览器检测脚本 201
8.4.1 方法学 202
8.4.2 第一步 202
8.4.3 检测Opera 204
8.4.4 检测Konqueror/Safari 206
8.4.5 检测IE 208
8.4.6 检测Mozilla 209
8.4.7 检测Netscape Communicator 4.x 210
8.5 平台/操作系统检测脚本 211
8.5.1 方法学 211
8.5.2 第一步 212
8.5.3 检测Windows操作系统 212
8.5.4 检测Macintosh操作系统 214
8.5.5 检测Unix操作系统 214
8.6 全部脚本 215
8.7 例子:登录页面 219
8.8 小结 224
第9章 事件 225
9.1 今天的事件 225
9.2 事件流 226
9.2.1 冒泡型事件 226
9.2.2 捕获型事件 227
9.2.3 DOM事件流 228
9.3 事件处理函数/监听函数 229
9.3.1 IE 230
9.3.2 DOM 231
9.4 事件对象 232
9.4.1 定位 233
9.4.2 属性/方法 233
9.4.3 相似性 235
9.4.4 区别 238
9.5 事件的类型 240
9.5.1 鼠标事件 240
9.5.2 键盘事件 244
9.5.3 HTML事件 246
9.5.4 变化事件 251
9.6 跨平台的事件 252
9.6.1 EventUtil对象 252
9.6.2 添加/删除事件处理函数 252
9.6.3 格式化event对象 254
9.6.4 获取事件对象 258
9.6.5 示例 259
9.7 小结 260
第10章 高级DOM技术 261
10.1 样式编程 261
10.1.1 DOM样式的方法 263
10.1.2 自定义鼠标提示 264
10.1.3 可折叠区域 265
10.1.4 访问样式表 266
10.1.5 最终样式 270
10.2 innerText和innerHTML 271
10.3 outerText和outerHTML 273
10.4 范围 274
10.4.1 DOM中的范围 274
10.4.2 IE中的范围 284
10.4.3 范围在实际中的应用 288
10.5 小结 288
第11章 表单和数据完整性 289
11.1 表单基础 289
11.2 对〈form/〉元素进行脚本编写 291
11.2.1 获取表单的引用 291
11.2.2 访问表单字段 291
11.2.3 表单字段的共性 292
11.2.4 聚焦于第一个字段 292
11.2.5 提交表单 293
11.2.6 仅提交一次 294
11.2.7 重置表单 295
11.3 文本框 295
11.3.1 获取/更改文本框的值 296
11.3.2 选择文本 297
11.3.3 文本框事件 298
11.3.4 自动选择文本 298
11.3.5 自动切换到下一个 299
11.3.6 限制textarea的字符数 300
11.3.7 允许/阻止文本框中的字符 301
11.3.8 使用上下按键操作数字文本 306
11.4 列表框和组合框 308
11.4.1 访问选项 309
11.4.2 获取/更改选中项 309
11.4.3 添加选项 310
11.4.4 删除选项 311
11.4.5 移动选项 312
11.4.6 重新排序选项 313
11.5 创建自动提示的文本框 313
11.5.1 匹配 314
11.5.2 内部机制 314
11.6 小结 316
第12章 表格排序 317
12.1 起点——数组 317
12.2 对单列的表格排序 319
12.2.1 比较函数 320
12.2.2 sortTable()函数 320
12.3 对多列表格进行排序 323
12.3.1 比较函数生成器 323
12.3.2 修改sortTable()方法 324
12.3.3 逆序排列 325
12.3.4 对不同的数据类型进行排序 327
12.3.5 高级排序 330
12.4 小结 334
第13章 拖放 335
13.1 系统拖放 335
13.1.1 拖放事件 336
13.1.2 数据传输对象dataTransfer 341
13.1.3 dragDrop()方法 345
13.1.4 优点及缺点 346
13.2 模拟拖放 346
13.2.1 代码 347
13.2.2 创建放置目标 349
13.2.3 优点及缺点 352
13.3 zDragDrop 352
13.3.1 创建可拖动元素 352
13.3.2 创建放置目标 353
13.3.3 事件 353
13.3.4 例子 354
13.4 小结 355
第14章 错误处理 356
14.1 错误处理的重要性 356
14.2 错误和异常 357
14.3 错误报告 358
14.3.1 IE(Windows) 358
14.3.2 IE(MacOS) 359
14.3.3 Mozilla(所有平台) 359
14.3.4 Safari(MacOS) 360
14.3.5 Opera 7(所有平台) 361
14.4 处理错误 362
14.4.1 onerror事件处理函数 362
14.4.2 try...catch语句 365
14.5 调试技巧 370
14.5.1 使用警告框 370
14.5.2 使用Java控制台 371
14.5.3 将消息写入JavaScript控制台 (仅限Opera 7+) 372
14.5.4 抛出自定义错误 372
14.5.5 JavaScript校验器 373
14.6 调试器 374
14.6.1 Microsoft Script Debugger 374
14.6.2 Venkman 376
14.7 小结 383
第15章 JavaScript中的XML 384
15.1 浏览器中的XML DOM支持 384
15.1.1 IE中的XML DOM支持 384
15.1.2 Mozilla中XML DOM支持 388
15.1.3 通用接口 393
15.2 浏览器中的XPath支持 403
15.2.1 XPath简介 403
15.2.2 IE中的XPath支持 404
15.2.3 Mozilla中的XPath支持 404
15.3 浏览器中的XSLT支持 408
15.3.1 IE中的XSLT支持 410
15.3.2 Mozilla中XSLT支持 413
15.4 小结 415
第16章 客户端与服务器端的通信 416
16.1 cookie 416
16.1.1 cookie的成分 416
16.1.2 其他安全限制 417
16.1.3 JavaScript中的cookie 417
16.1.4 服务器端的cookie 419
16.1.5 在客户端与服务器端之间传递cookie 422
16.2 隐藏框架 423
16.3 HTTP请求 426
16.3.1 使用HTTP首部 428
16.3.2 实现的复制品 429
16.3.3 进行GET请求 430
16.3.4 进行POST请求 430
16.4 LiveConnect请求 431
16.4.1 进行GET请求 431
16.4.2 进行POST请求 433
16.5 智能HTTP请求 435
16.5.1 get()方法 435
16.5.2 post()方法 438
16.6 实际使用 439
16.7 小结 439
第17章 Web服务 440
17.1 Web服务快速入门 440
17.1.1 Web服务是什么? 440
17.1.2 WSDL 441
17.2 IE中的Web服务 443
17.2.1 使用WebService组件 444
17.2.2 WebService组件例子 445
17.3 Mozilla中的Web服务 447
17.3.1 加强的特权 447
17.3.2 使用SOAP方法 448
17.3.3 使用WSDL代理 451
17.4 跨浏览器的方案 454
17.4.1 WebService对象 454
17.4.2 Temperature 服务 456
17.4.3 使用TemperatureService对象 458
17.5 小结 458
第18章 与插件进行交互 459
18.1 为何使用插件 459
18.2 流行的插件 460
18.3 MIME类型 460
18.4 嵌入插件 461
18.4.1 加入参数 461
18.4.2 Netscape 4.x 462
18.5 检测插件 462
18.5.1 检测Netscape式插件 463
18.5.2 检测ActiveX插件 467
18.5.3 跨浏览器检测 469
18.6 Java applet 470
18.6.1 嵌入applet 470
18.6.2 在JavaScript中引用applet 471
18.6.3 创建applet 471
18.6.4 JavaScript到Java的通信 472
18.6.5 Java到JavaScript的通信 475
18.7 Flash动画 477
18.7.1 嵌入Flash动画 477
18.7.2 引用Flash动画 478
18.7.3 JavaScript到Flash的通信 478
18.7.4 Flash到JavaScript通信 481
18.8 ActiveX控件 483
18.9 小结 485
第19章 部署问题 486
19.1 安全性 486
19.1.1 同源策略 486
19.1.2 窗口对象问题 487
19.1.3 Mozilla特有的问题 488
19.1.4 资源限制 490
19.2 国际化 491
19.2.1 使用JavaScript检测语言 491
19.2.2 策略 492
19.2.3 字符串的思考 492
19.3 优化JavaScript 495
19.3.1 下载时间 495
19.3.2 执行时间 499
19.4 知识产权的问题 512
19.4.1 混淆 512
19.4.2 Microsoft Script Encoder(仅IE) 513
19.5 小结 514
第20章 JavaScript的未来 515
20.1 ECMAScript 4 515
20.1.1 Netscape的提案 515
20.1.2 实现 521
20.2 ECMAScript for XML 522
20.2.1 途径 522
20.2.2 for each..in循环 524
20.2.3 新的类 524
20.2.4 实现 532
20.3 小结 532
索引

灌水者的Blog方式

灌水的人喜欢重复发帖,我就是这样一个家伙,呵呵
所以我打开了Live Space的电子邮件发布,Blogger又支持当发布新文章的时候,将新的文章,发送到指定的电子邮件,所以我可以通过Blogger,直接同步Live Space的内容,省去了我灌水的麻烦了,呵

Blogger is better than Live Space

Live Space(原来的MSN Space) 总的来说要更加像个交际社区,Blogger则是个更加专业的Blog系统。
Live Space现在相当臃肿和复杂,显示速度相当慢,虽然是界面可订制,但是和Blogger的可以直接编辑模版来说还差一些。
Blogger的操作总体来说还比较方便,新版的Blogger放弃了静态发布,使用了动态缓存,这样操作就更加方便了,将Blog发布到其他的网站上去的功能,似乎对一般人来说,也没有什么特别大的用途,Label的使用,也十分方便,虽然没有分类,另外就是除了不知道什么时候Blogspot会在被封之外。
Live Space的优势在于和Live Messenger的集成,同时现在似乎想把Messenger的一些功能都做到网站上去,更像一个SNS了。

《木桶定律》

西武/编著 机械工业出版社/出版

对于企业的发展,有一个非常恰当的比喻——“木桶定律”:一只木桶盛水的多少,并 不取决于桶壁上最长的那块木板,而恰恰取决于桶壁上最短的那块木板。人们把这一规律总 结成为“木桶定律”,“木桶理论”或“木桶效应”,本书中则统一称之为“木桶定律”。

根据这一核心内容,木桶定律还有三个推论:

——只有构成木桶的所有木板都足够高,木桶才能盛满水;

——所有木板比最低木板高出的部分都是没有意义的,高的越多,浪费越大;

——要想增加木桶的容量,应该设法加高最低木板的高度,这是最有效也是最直接的途 径。

木桶定律告诉我们:一只沿口不齐的木桶,盛水的多少,不在于木桶上最长的那块木板 ,而在于最短的那块木板,要想提高水桶的整体容量,不是去加长最长的那块木板,而是要 下功夫依次补齐最短的木板。

你可以很容易发现木桶和企业的共同之处,即构成系统的各个部分往往是优劣不齐的, 劣质部分往往决定了整个系统的水平。因为,最短的木板在对最长的木板起着限制和制约作 用,从而决定了整个系统的战斗力,影响了整个系统的综合实力。

因此,一个组织,不是单靠在某一方面的超群和突出就能立于不败之地的,而是要看整 体的状况和实力;一个团体,是否具有强大的竞争力,往往取决于其是否存在突出的薄弱环 节。劣势决定优势,劣势决定生死,这是市场竞争的残酷法则。

引申到企业管理中来,制约企业发展的往往是少数的,一二个重要的、关键的问题,如 管理能力、资金、技术、人才问题等。如果我们把企业当成一只木桶,而把 企业经营所需要 的各种资源与要素比喻成组成木桶的每一块木板,比如:资金、技术、人才、产品、营销、 管理等等,那么一个企业取得业绩的大小,则取决于 企业资源中最短缺的资源和要素。

换个角度说,在企业的销售能力、市场开发能力、服务能力、生产管理能力中,如果某 一方面的能力稍低,就很难在市场上长久获利。

其实,一个企业做的再好,管理上都有潜力可挖,换句话说,每个企业都有它的薄弱环 节,正是这些环节使企业许多资源闲置甚至浪费,发挥不了应有的作用。如常见的互相扯皮 、决策低效、实施不力等薄弱环节,都严重地影响并制约着企业的发展。

因此,企业要想做好、做强,必须从产品设计、价格政策、渠道建设、品牌培植、技术 开发、财务监控、队伍培育、文化理念、战略定位等各方面一一做到位才行。任何一个环节 太薄弱都有可能导致企业在竞争中处于不利位置,最终导致失败的恶果。

第一篇

测试一下~~