星期四, 三月 10, 2005

就范还是死亡,这不是个问题

就范还是死亡,这不是个问题
文/苏柏亚

一个女孩,反抗强奸,惨遭杀害。我原以为,发生了这么一件事,大家会深思如何更有效地防止强奸这类恶性事件的发生,如何制造更厉害的防狼武器,如何提高强奸的成本,如何才能让歹徒无法得逞甚至将其绳之于法等等问题。没想到,很多女人却在苦苦思考:别人强奸我,是乖乖就范,还是递上一个安全套?想好了之后,大白天出门也捂着胸,紧紧地把安全套揣在手里。很多男人,尤其是有犯罪倾向的男人,都开始找机会调查身边的女孩子:“问你个问题啊,如果,仅仅是如果,如果有人要强奸你……”如果别人的答案有点骨气,有部分人就沉不住气了:“唉,生命是最重要的,反抗是徒劳的……”一旦听到了好消息,马上蠢蠢欲动,而且暗暗偷笑,连买作案工具的钱都省了。一个叫陈岚的女人,她有意无意之间把整个社会推入了一个二选一的思维误区――面对强奸,要么死,要么递上一个避孕套,请选一样。“面对强奸犯,冒死反抗是人类的耻辱!”天,好大好沉重的帽子,我一个大男人都被压得快喘不过气来。想必该女作家为保存生命,平日定武装到牙齿,我为人八卦,真想知道她如何选避孕套,自己这边倒好办,喜欢的形状、颜色、材料都清楚,心情好的时候还可以用用水果味的,可对方的size不知道啊,也不知道人家喜欢哪一款,头疼。

面对强奸,除了就范和死亡,还有第三种甚至第四种第五种结局吗?多的是:歹徒可能被群众抓获了,也可能逃掉了;歹徒可能得手了,也可能没有得逞;歹徒可能活着,也可能死了……为什么非得弄出一个就范或者死亡的两难命题呢?思维太狭窄了。面对强奸,就范还是死亡,这不是一个问题,而是一道脑筋急转弯题,和“老婆和母亲同时掉到水里,先救哪一个?”是同一类的。问题是用来认真思考的,脑筋急转弯题是用来放松神经的。老婆和母亲有没有可能同时掉到水里?当然有可能了。但我们不应该仅仅因为老婆和母亲可能同时掉到水里,就正儿八经地顺着思路寻找“先救谁?”的答案。如果思考的兴趣这么浓,还不如想想如何阻止老婆和母亲一起坐船更实际。这不是调侃,而是关于强奸问题的解决思路。防微杜渐,解决问题往往不在产生问题的同一层次,而在问题的更低层次。

虽然价值冲突普遍存在,但太认真对待某些问题从而以小见大将其上升到很高的层面,意义不大,因为很多事只是小概率事件,不会大面积地出现在每个人的身上。如果出海时船出了问题,需要扔掉一个人,爸妈都在船上,是扔老爸还是扔老妈?如果儿子被歹徒劫持,他要挟要和老婆睡一觉,是要儿子的命还是老婆的身子?如果在非常时期要在坐牢和陷害朋友之间选一样,选哪样?如果快饿死了,一个人说只要你舔舔他的脚,他就给吃的,舔不舔?如果欠债几千万,不还就要入狱二三十年,一个富商愿意替你还债,但要你老婆以后跟他,答应不?如果快亡国了,鬼子要你在当汉奸和当烈士之间选一样,选哪样?如果遇到强奸,对方威胁说反抗就杀死你,反不反抗?……以上脑筋急转弯题,都是把你扔到一个特定场景,让你二选一,可以私底下自个玩玩,但一在公共场合讨论就没意思了。一般情况下,只有很小一部分人会遇到上面提到的某些场景。如果最后一个“问题”值得大家深思,那么上面提到的每个“问题”甚至还有许多没有提到的“问题”都有深思的必要。俗话说,防患于未然,无论任何事情,在发展到最糟糕的阶段去挽救,可以选择的余地都不大,不管采取任何措施,结局都是残酷的。以上面最后一个脑筋急转弯题为例,值得关注的是抽象的作为一个社会问题的强奸,而不是在某个特定场景里的具体选择。每宗强奸案都不同,站在社会的角度,应该提炼出抽象的关注点,对其加以研究和讨论,而不应把思维囿于某年某月某日的某宗强奸案。应该讨论如何才能更快抓获强奸犯?怎样才能纠正有强奸倾向的变态心理?社会应该如何对待强奸犯?如何预防被强奸?哪些防狼工具可以更大程度地保护女性?如何帮助被强奸者恢复身心健康?……整个社会应该关注以上问题,而不是争论“面对强奸,选择就范还是死亡?”这种太具体的问题。如果严谨一点,在信息量不足的情况下,问得简单一点――“面对强奸,就范还是抵抗?”――也几乎无法回答。人很少对某个问题有永远相同的答案,往往是具体问题具体分析。最起码回答之前,需要问清楚很多问题。例如强奸犯高大吗?人数多吗?有喝醉酒吗?智商低吗?性知识丰富吗?力气大吗?跑得快吗?长得帅吗?身材好吗?性能力强吗?戴什么size?……以上每个问题的答案,都可能影响你对“面对强奸,就范还是抵抗?”的回答。

以上讨论是站在社会的角度,而从个人的角度,如果一定要对“面对强奸,就范还是死亡”进行回答,那么每个人的答案反映了其价值序列(关于更多价值序列的论述,见《浅谈人生(三)――程序人生》)。很多人把生命排在价值序列的最前面,生命是其最高价值。于是当生命和其它价值发生冲突时,他们都会选择保存生命的行为。卖国还是死?当然是卖国了。背叛朋友还是死?当然是背叛朋友了。任人强奸还是死?当然是任人强奸了。……每个人都有选择的自由,把什么价值作为最高价值是个人选择,这没什么好说的,虽然我不喜欢那些把生命看得比任何东西都重要的人。在我眼里,没有任何价值排在“生命”前面的人都不算一个真正意义上的人。可是,我不能容忍这些无法理解某些更高价值的“人”,对一些真正意义上的人进行攻击和嘲笑。志士不饮盗泉之水,廉者不受嗟来之食,是不是很可笑? “人生自古谁无死,留取丹心照汗青”,是不是很可笑?“有心杀贼,无力回天,死得其所,快哉快哉”,是不是很可笑?“吾诚愿与汝相守以死。第以今日事势观之,天灾可以死,盗贼可以死,瓜分之日可以死,奸官污吏虐民可以死,吾辈处今日之中国,国中无地无时不可以死!到那时使吾眼睁睁看汝死,或使汝眼睁睁看我死,吾能之乎!抑汝能之乎!即可不死,而离散不相见,徒使两地眼成穿而骨化石,试问古来几曾见破镜能重圆,则较死为苦也。将奈之何?今日吾与汝幸双健;天下人人不当死而死,与不愿离而离者,不可数计;钟情如我辈者,能忍之乎?此吾所以敢率性就死不顾汝也!吾今死无余憾,国事成不成,自有同志者在。”是不是很可笑?罗盛教跳进冰冷的河里救小孩而失去生命,是不是很可笑?……太多值得人类追求的价值:国家、自由、尊严、爱、正义、责任……正因为存在把生命排在更高价值后面的人,这个世界才依然存在希望。把生命放在其它价值后面一点也不可笑,更不愚蠢,相反,那是一个人成为真正的人的标志。虽然因为抵抗强奸而死去的女孩说不上多么伟大,但至少她选择了一种更高的价值――尊严,并且很好地维护了它,不知尊严为何物的人就别嘲笑别人傻了,从来都是人笑动物,没有动物笑人的。如果实在无法理解,那就选择沉默吧。

社会上流传着很多又俗又消极的口号,如生活就像被强奸,如果无力抵抗,不如好好享受。我尊重人的选择,对于那些面对强奸,选择递上避孕套,并且摆出最容易达到高潮的姿势的人,愿你们把强奸犯哄得开开心心,完全不动杀人的念头,更希望你们好运,永远不要遇上让人舒服地强奸再惨遭灭口的讽刺结局。至于那些选择殊死抵抗侮辱的女子,我永远怀有一份深深的敬意。打击犯罪,爱护社会,人人有责!绝对不能因为个别后果严重的事件就向犯罪分子低头,斜不能胜正,这是我不变的信念。只要我们都怀着这份信念,并且知行合一,终有一天,我们可以建成一个更文明的社会,我们无需在现实生活中解答“面对强奸,选择就范还是死亡?”这种脑筋急转弯题。

2006年7月29日1点52分于南海

Eric's diary

Eric's diary
by Eric rong

注:这篇文章是墨尔本大学计算机系开设的“Internet Software Development”这门课的一个作业,我把它写成了一篇日记。导师Mike说很有娱乐性,我就把它放上来吧。有兴趣的朋友可以看看。如果喜欢,可以下载到自己硬盘慢慢看。如果喜欢,可以下载到自己硬盘慢慢看。

September 22, 2004 Sunny

1

I went to Lucayan National Park, the star of the triad and the only place in the Bahamas where visitors can see all six of the island's ecosystems – collection of plants and wildlife that offers an unparalleled view into the complex interaction of native land and sea. Also within the park is one of the world’s longest underwater cave systems – a sprawling network of tunnels resulting from the island’s unique limestone geology. It was fun. And most importantly, I met a pretty girl named Helen.

2

I open my laptop and check my mailbox. There are four new received E-mails. When I saw the mail with the title “help!!!!” from John, my heart was screaming: no more work please! After thinking for a while, I still read through the mail and check it out. It turns out that John installed roundup three months ago, and it had been working properly since then, but these days it suddenly became so slow that the staffs and the customers are both complaining about the slowness. He said he didn’t know how to solve that problem, so he had to ask for my help although he understood I was enjoying my holiday and should not be interrupted.

Well, what a surprising E-mail. After reading that, the first thing came to my mind was: Wow, John installed and configured roundup!!! Anyway, I will look into that.

What is wrong?

John mentioned that a faulty product was released some days ago, so the number of complains from the customers increased dramatically. Does that relative to the slowness of the system? Maybe yes, but maybe no. The faulty product released, then the network traffic increased, and then the roundup became very slow, but this doesn’t mean the slowness in roundup was caused by the increased network traffic and the faulty product as well, although that possibility exists.

The only conclusion I can draw now is that something is wrong. To find out the question “What is wrong” needs more information. Provided it was not virus, what else might it be? Maybe he should ask Tom Cruise, because this seems like a mission impossible. With so little information, I can’t even decide on which level the problem locates. Are there any problems with the operating system? Is the application software installed compliant with each other? Are there any problems with the network infrastructures? Has he checked if it was virus? Are there any Trojans in the computer? Maybe some crackers keep hacking the machine, it is not totally impossible, but has he checked the firewall log? …He didn’t say anything about those things, how can I offer my help?

I just restored my Windows Server 2003 again using Ghost, and this is the third time I do that within three days. It was infected by I-worm virus or something, each time I was using my laptop for a while, it takes me a few minutes to move the pointer just for one inch, so I have to restore the system. This reminds me that I should update the virus definition and scan the whole computer after I finish this diary, or else I might need to restore my system the fourth time. Hey, since he is good enough to install roundup and configure it, and even make it work behind Apache for three months, why not just install it again before sending me E-mail? As you know, I never make roundup work with Apache in my laptop.

Apache?

He had Apache running as the web server. Two things that a web server continually do is sending the web content requested by the clients and executing CGI programs. When Apache is busy with sending web content to clients and the workload is highly exceeded, is it possible that the execution of CGI programs remains efficient? It’s impossible. How about using another Web Server? Will it still be the same? Is the problem located in Apache?

Roundup?

I believe many staffs must think there is something wrong with roundup, because they always find roundup is not responding. But that’s absolutely not a good way to look at things. When my computer was infected by I-worm virus, all programs run slower, so dose the program I used most often. When I run Dreamweaver, it’s not responding, so it looks like it makes everything stop. But what caused the slowness is the I-worm virus, not Dreamweaver. It is one of the victims, not the trouble maker. After I kill the I-worm virus, Dreamweaver runs as fast as usual. But that doesn’t mean Dreamweaver cause the slowness of the whole system and then it suddenly stops doing that anymore for some reasons, so the system back to normal. From the beginning till the end, Dreamweaver is innocent. There might be some problems in roundup, but there is no guarantee for that. Roundup might be that innocent Dreamweaver in my laptop.

CGI?

John seems to doubt that the problem is caused by the architectural flaws of the current system. It might be, if there are any, but I don’t see any evidence supports that conclusion. Besides, I really don’t like to criticize architecture. It is architects’ responsibility to consider all the elements at hand and even potential factors that might cause the system to work improperly, and then choose the “best” architecture for a system. It’s unfair to criticize the architecture when some problems appear. If there must be some criticism, the guy who selects the current architecture is the one who should be criticized, because it reflects the flaw of his design, not the architecture. Each coin has two sides, so is CGI. No one claims CGI program is the best way to provide web-based services under all circumstances. When it is selected, its shortcomings should have been taken into consideration already. Won’t you be surprised or disappointed to see an architect who complains about CGI just because it uses up too much memory when too many users are invoking CGI programming together? How strange it is! As if he had never thought about that before. Wouldn’t you want to ask him: excuse me, did you really ever study computer science at the university? Even if he says yes, wouldn’t you want to ask: Did you graduate?

I don’t think John had ever given a deep thought in terms of why he used the current architecture before he installed roundup. I am sure he found roundup useful, so he downloaded it. Then he realized it was written in Python, so he set up the Python running environment. Since Apache has been installed before roundup, then he looked for some documents that teach how to put Roundup behind Apache. That’s the way non-technical people do things. They won’t consider things from architectural perspectives. In fact many of them don’t even consider it necessary. John wanted to use roundup, so everything was done just for that goal. That’s normal behavior of non-technical people. But for technical engineers, he might perform some system analysis beforehand to decide which architecture should be used, with all constraints in mind. Namely, architecture comes first. John might have made a right choice to use the right architecture, exactly the same as what the technical engineers do after a thorough analysis. If so, the bottleneck is not the architecture based on the current constraint. If John had chosen the wrong architecture in the first place, nothing happens will surprise me. Furthermore, if he ever thought about architecture, why he didn’t ask some experts for opinions before he installed roundup? But if he doesn’t know anything about architectures, why only suspects the architecture? Anyway, that’s pretty amazing suspicion for a newbie.

Improvement?

Let me think about the problem of improvement. There are some alternatives to CGI, such as FastCGI, ASP, Cold Fusion, mod perl and so on. With enough money, all of them can work equally well. With constraint, it may not. Which works best depends on what constraints are. In the extreme case, with really cheap hardware, all of them work equally bad. Since John is not willing to invest any money in hardware and commercial software, so the existing hardware is the main constraint. But if the current hardware can execute CGI program really fast, to say that the bottleneck is the current architecture is unfair, even if the current architecture is not the first choice of technical engineers, because the bottleneck might be other factors. After all, the roundup has been working properly for three months. As the users increase, it is very possible that the current architecture becomes the bottleneck, because that’s one of the reasons why alternatives to CGI appear. One very important question that must be answered is that what is the maximum number of online users that will cause the performance of the current system starts to drop? Suppose that number is 1000, when the number of online users is below 1000, and the performance of the system still drops, the architecture doesn’t need to be changed at all. Since if the bottleneck is not the architecture itself, another architecture might improve the performance to certain degree, but only if the real factor or factors that cause the performance of the system decreases haven’t been found out, it remains a question if switching to another architecture will help in essence. If the bottleneck is not the architecture, no need to switch to other architecture. But if it is, maybe there should be a new design.
When considering improvement, money is always an important issue. With enough money, bottleneck could be moved to almost any places. For example, if the bottleneck is the memory, increase it; CPU, buy a better one, or use two CPU or even four; bandwidth, use fiber; computer, use two as servers… With little or even no money, little can be done. Even if John agrees to switch to J2EE, .NET or whatever, just in order to move some computation to the client side, there are still many factors need to be considered. For example, is there any freeware that work exactly the same as roundup under other architectures? If there are any, is it possible to set up the whole running environment completely for free? I highly doubt that. Furthermore, provided the server originally has that capability to serve the current clients, even the number has been increased dramatically, what if its slowness is caused by something else? Switching to other architecture is really a waste of time and money. Oh, only time, hardly forget there is no money to waste.

Solution?

John must be very anxious these days. But if I were him, I won’t simply take this as a technical problem and only look for solution from a technical expert. Technical problem doesn’t have to be solved in the technical field, and it doesn’t have to be solved by technical experts. An enterprise is composed by many departments, while technical department is only one of them. The relationship between different departments is like the relationship between different organs of the human body. When a man is suffering from headache, the syndrome doesn’t indicate there is something wrong with his head, it might be in some other places. If a famous enterprise’s products prevail all over the world, when a faulty product released, users from all around the world will go to the official website and complaint at the same time, even technical giant like Microsoft can’t prevent its website from becoming slower and even stopping providing services, let alone some company with weak technical support. Which company has billions and billions to spend? Microsoft does. Technology and money may not solve everything. Take Microsoft as an example, if it had the same syndrome as the company John works for did, where is the bottleneck? It may be the management, production, design and so on. Why only look at that from technical perspective? Why only think hardware, software and network, not sales, marketing and CRM (Customer Relationship Management)? Why only send E-mail to me not to the CEO?

If I were the CEO, in terms of this matter, I only do three things. First, make sure that the system is working as normal as last three months, no other changes should be made. This should be done as soon as possible and with the least time. If necessary, disconnect to the outside world to do that. Second, have a meeting with relative managers and come out with the best solution. Third, after-sale team should contact all the affected customers and provide the solution came out. This should be finished within a week. That’s it. The roundup should became normal very soon if these three things successfully done. After that, I will use the performance of roundup as an indicator for the health of the company I am running.

I was right, this is a mission impossible. There are too many factors that cause this roundup problem, especially when roundup is designed with the aim of ease for customization. If John is using third party databases like MySQL and so on, the problem even might be in the database. I have to stop here and tell John all about these tomorrow. As for the solution, there are many, but I don’t know which one works. You just can’t provide any workable solutions until you find out the problems. If someone can, it is really a jet pot. But lottery is not something good engineers should enjoy except for fun. I think I’d better send him a checklist so that he can go through it and check each item one by one, if the problem solved, that’s fine; if not, there is nothing else I can do before my vacation ends.

It’s really annoying to receive some jobs that you have been doing everyday for years in holidays. I hope this will never happen again. Anyway, if it comes, I’ll just throw that away.

3

The other three E-mails are from Mike, Helen and Mum. The roundup matter makes me too tired, I will only reply Helen and mum’s E-mail. As for Mike, who cares? He didn’t reply my E-mail last time anyway. Besides, I am sleepy, just want to sleep now.

4

Where should I visit tomorrow? High rock? West end? Or Deadman’s reef? I must figure it out before tomorrow.