More servicesWindows Live
HomeHotmailSpacesOneCare
 
MSN
Sign in
 
 
Spaces home  在路上PhotosProfileFriendsMore Tools Explore the Spaces community

在路上

河蟹博客
August 19

拳击真是一项主观的运动

裁判的判罚完全看不懂,尤其当解说是韩老师的时候。

August 10

从DC回来了

周末开车拜访了美帝的首都,来回500麦,累。

照片,尚未整理,没有任何tag:http://picasaweb.google.com/wangjue.smth/20080809DC

贴一张moutain washington 山顶的panorama.

August 05

Priceline & hotwire tips

某些市场是靠信息不对称挣钱的,但是信息不对称到一定程度就会限制资源的利用率和市场规模,反而降低收益。这时priceline和hotwire这种第三方皮条商就应运而生,把原来买卖双方的信息抓到手里,向顾客提供一些加工过的信息。本质上还是信息不对称,只不过皮条公司们现在占一角,吃两方。

第一次用,发现还是很花时间的,learning curve有点陡。

http://www.travelsuperlink.com/hotwire

http://www.travelsuperlink.com/hotwire2

http://www.travelsuperlink.com/priceline1

http://www.travelsuperlink.com/priceline2

August 04

Interview Training Pre-work: The Guerrilla Guide to Interviewing by Joel Spolsky

http://www.joelonsoftware.com/articles/fog0000000073.html

This piece was written by Joel Spolsky of Fog Creek Software, and formerly with Microsoft. It presents some relevant points of view regarding interviewing for technical skills.

How to assess someone's technical ability

Hiring the right people is extremely crucial to Fog Creek Software. In our field, there are three types of people. At one end of the scale, there are the unwashed masses, lacking even the most basic skills for this job. They are easy to ferret out and eliminate, often just by reviewing a resume and asking two or three quick questions. At the other extreme, are the brilliant superstars who write lisp compilers for fun, in a weekend, in Assembler for the Palm Pilot. And in the middle, you have a large number of "maybes" who seem like they might just be able to contribute something. The trick is telling the difference between the superstars and the maybes, because at Fog Creek Software we only hire the superstars. Here are some techniques for doing that.

First of all, the #1 cardinal criteria for getting hired: Smart, and Gets Things Done.

That's it. That's all we're looking for. Our goal is to hire people with aptitude, not a particular skill set. Any skill set that people can bring to the job will be technologically obsolete in a couple of years, anyway, so it's better to hire people that are able to learn any new technology rather than people who happen to know SQL programming right this minute.

Smart is hard to define, but as we look at some possible interview questions we'll see how you can ferret it out. Gets Things Done is crucial. People who are Smart but don't Get Done often have PhDs and work in big companies where nobody listens to them because they are completely impractical. They would rather mull over something academic about a problem rather than ship on time. These kind of people can be identified because they love to point out the theoretical similarity between two widely divergent concepts. For example, they will say "Spreadsheets are really just a special case of a programming language" and then go off for a week and write a thrilling, brilliant white paper about the theoretical computational linguistic attributes of a spreadsheet as a programming language. Smart, but not useful.

Now, people who Get Things Done but are not Smart will do stupid things, seemingly without thinking about them, and somebody else will have to come clean up their mess later. This makes them liabilities to the company because not only don't they contribute, but they soak up good people's time. They are the kind of people who copy big chunks of code around rather than writing a subroutine, because it gets the job done, just not in the smartest way.

The most important rule about interviewing: Make A Decision

At the conclusion of the interview, you have to be ready to make a sharp decision about the candidate. There are only two possible outcomes to this decision: Hire or No Hire. Turn to your computer and send immediate feedback to the recruiter. The subject line should be the name of the candidate. The first line of the email should be Hire or No Hire. Then you should spend about 2 paragraphs backing up your decision.

There is no other possible answer. Never say, "Hire, but not in my group." This is rude and implies that the candidate is not smart enough to work with you, but maybe he's smart enough for those losers over in that other group. If you find yourself tempted to say "Hire, but not in my group," simply translate that mechanically to "No Hire" and you'll be OK. Even if you have a candidate that would be brilliant at doing one particular thing, but wouldn't be very good in another group, that's a No Hire. Things change so often and so rapidly that we need people that can succeed anywhere. If for some reason you find an idiot savant that is really, really, really good at SQL but completely incapable of ever learning any other topic, No Hire.

Never say "Maybe, I can't tell." If you can't tell, that means No Hire. It's really easier than you'd think. Can't tell? Just say no! Similarly, if you are on the fence, that means No Hire. Never say, "Well, Hire, I guess, but I'm a little bit concerned about..." That's a No Hire as well.

An important thing to remember about interviewing is this: it is much better to reject a good candidate than to accept a bad candidate. A bad candidate will cost a lot of money and effort and waste other people's time fixing all their bugs. If you have any doubts whatsoever, No Hire.

While you are conducting the interview, don't worry that if you reject a lot of people, Fog Creek won't be able to find anyone to hire. That's not your problem. It's the recruiter's problem. Keep asking yourself which is worse - that we grow into a big, lousy software company with lots of coconuts, or that we stay small but high quality? Of course, it's important to seek out good candidates and everybody should see it as a part of their mission to find and recruit smart people who get things done. Never lower your standards no matter how hard it seems to find great candidates.

But how do you make this difficult decision? You just have to keep asking yourself during the interview: is this person smart? Does this person get things done? In order to be able to tell, you're going to have to ask the right questions.

Now the fun part: Interview Questions.

There are actually hundreds of famous Microsoft interview questions. Everybody has a set of questions that they really like. You, too, will develop a particular set of questions and a personal interviewing style which helps you make the Hire/No Hire decision. Here are some techniques that I have used that have been successful.

Before the interview, I read over the candidates resume and jot down an interview plan on a scrap of paper. That's just a list of questions that I want to ask.

Typical plan for interviewing a software engineer
  1. Introduction
  2. Question about recent project candidate worked on
  3. C (or Java) Function
  4. Difficult Question
  5. Are you satisfied?
  6. Design Question
  7. Do you have any questions?
  8. Questions to avoid
1. Introduction

Before the interview, I am very, very careful to avoid anything that might give me some preconceived notions about the candidate. Don't ask around about the person before you interview them; and never, ever talk to the other interviewers about the candidate until you've both made your decisions independently. It's the scientific method!

The Introduction phase of the interview is intended to put the candidate at ease. I spend about 30 seconds telling the person who I am and how the interview will work. I always reassure the candidate that we are interested in how he goes about solving problems, not the actual answer.

2. Recent project question

Part 2 is a question about some recent project that the candidate worked on. For interviewing college hires, ask them about their senior thesis, if they had one, or about a course they took that involved a long project that they really enjoyed. For example, sometimes I will ask, "what class did you take last semester that you liked the most? It doesn't have to be computer-related." Actually I am usually pretty happy if they choose a non-computer related course. Sometimes you look at their schedule, and it looks like they are taking the bare minimum number of Comp Science courses, but every elective is something related to Music. Then they will tell you that their favorite course was Object Oriented Databases. Yeah, right. I'd be happier if they admitted that they just liked music more than computers, instead of sucking up.

When interviewing experienced candidates, you can talk about their previous job.

In this question, I'm looking for one thing: passion. When you find a project that the person worked on recently, these are all good signs:

They get very excited talking about it; they tend to talk more quickly and get animated. Sometimes a candidate comes in who is very nervous about being in an interview situation -- this is normal so I always overlook that. But then when you get them talking about Computational Monochromatic Art they will get extremely excited and lose all signs of nervousness. Good. I like passionate people who really care. (To see an example of Computational Monochromatic Art try unplugging your monitor.)

If the project was a team project, look for signs that they took a leadership role. A candidate might say: "we were working on X, but the boss said Y and the client said Z." I'll ask, "So what did you do?" A good answer to this might be "I got together with the other members of the team and wrote a proposal..." A bad answer might be, "Well, there was nothing I could do. It was an impossible situation." Remember, Smart and Gets Things Done. A good way to tell if somebody Gets Things Done is to see if historically they have tended to get things done in the past. In fact, you can even ask them directly to give you an example from their recent past when they took a leadership role and got something done - overcame some institutional inertia, for example.

3. C (or Java) programming question

For programming questions, I ask candidates to write a small function in C. Here are some typical problems I would ask:

  1. Reverse a string in place
  2. Reverse a linked list
  3. Count all the bits that are on in a byte
  4. Binary search
  5. Find the longest run in a string
  6. atoi
  7. itoa (great, because they have to use a stack or strrev)

You don't want to give them any problems that take more than about 5 lines of code; you won't have time for that.

Let's look at a couple of these in detail. #1: reverse a string in place. Every candidate I've ever interviewed in my life has done this wrong the first time. Without exception, they try to allocate another buffer and reverse the string into that buffer. The trouble is, who allocates the buffer? Who frees the buffer? In giving this question to dozens of candidates I found out an interesting fact. Most people who think that they know C really do not understand memory or pointers. They just don't get it. With this question, here are some ways to judge the candidate:

Is their function fast? Look at how many times they call strlen. I've seen O(n^2) algorithms for strrev when it should be O(n), because they are calling strlen again and again in a loop. Do they use pointer arithmetic? This is a good sign. Many "C programmers" just don't know how to make pointer arithmetic work. Now, ordinarily, I wouldn't reject a candidate just because he lacked a particular skill. However, I've discovered that understanding pointers in C is not a skill, it's an aptitude. In Freshman year CompSci, there are always about 200 kids at the beginning of the semester, all of whom wrote complex adventure games in BASIC for their Atari 800s when they were 4 years old. They are having a good ol'; time learning Pascal in college, until one day they professor introduces pointers, and suddenly, they don't get it. They just don't understand anything any more. 90% of the class goes off and becomes PoliSci majors, then they tell their friends that there weren't enough good looking members of the appropriate sex in their CompSci classes, that's why they switched. For some reason most people seem to be born without the part of the brain that understands pointers. This is an aptitude thing, not a skill thing - it requires a complex form of doubly-indirected thinking that some people just can't do.

4. Difficult question

In the C question, you can see how well they learned the bitwise operators in C.... but this is a skill, not an aptitude, so you can help them with these. The interesting thing is to watch them write a subroutine that counts all the bits in a byte, then ask them to make it much, much faster. Really smart candidates will create a lookup table (after all, it's only got 256 entries) that they only have to create once. With good candidates, you can have a really interesting conversation about the different space/speed tradeoffs. Press them further: tell them you don't want to spend any time building the lookup table during initialization. Brilliant candidates might even suggest a caching scheme where bits are counted the first time they are used, and then stored in a lookup table so they don't have to be counted if they are used again. Really, really brilliant candidates will try to devise a way to compute the table using some kind of a shortcut taking advantage of the patterns that occur. When you watch somebody write code, here are some techniques that may be helpful:

Always reassure them that you understand that it's hard to write code without an editor, and you will forgive them if their paper gets really messy. Also you understand that it's hard to write bug-free code without a compiler, and you will take that into account. Some signs of a good programmer: good programmers have a habit of writing their {and then skipping down to the bottom of the page and writing their} s right away, then filling in the blank later. They also tend to have some kind of a variable naming convention, primitive though it may be... Good programmers tend to use really short variable names for loop indices. If they name their loop index CurrentPagePositionLoopCounter it is sure sign that they have not written a lot of code in their life. Occasionally, you will see a C programmer write something like if (0==strlen(x)), putting the constant on the left hand side of the == . This is a really good sign. It means that they were stung once too many times by confusing = and == and have forced themselves to learn a new habit to avoid that trap. Good programmers plan before they write code, especially when there are pointers involved. For example, if you ask them to reverse a linked list, good candidates will always make a little drawing on the side and draw all the pointers and where they go. They have to. It is humanly impossible to write code to reverse a linked list without drawing little boxes with arrows between them. Bad programmers will start writing code right away. Inevitably, you will see a bug in their function.

5. Are they satisfied?

So we come to question 5: Are you satisfied with that code? You may want to ask, "OK, so where's the bug?" The quintessential Open Ended Question From Hell. All programmers make mistakes, there's nothing wrong with that, they just have to be able to find them. With the string functions, they'll almost always forget to null-terminate the new string. With almost any function, they are likely to have off-by-one errors. They will forget semicolons sometimes. Their function won't work correctly on 0 length strings, or it will GPF if malloc fails... Very, very rarely, you will find a candidate that doesn't have any bugs the first time. In general, it's always a good idea to ask the candidate if they are satisfied with their answer before moving on. Be Regis.

6. Design question

Ask the candidate to design something. Jabe Blumenthal, the original designer of Excel, liked to ask candidates to design a house. According to Jabe, he's had candidates who would go up to the whiteboard and immediately draw a square. A square! These were immediate No Hires. In design questions, what are you looking for?

Good candidates will try to get more information out of you about the problem. Not-so-smart candidates think that design is like painting: you get a blank slate, and you can do whatever you want. Smart candidates understand that design is a difficult series of trade-offs. A great design question: design a trash can for a city street corner. Think of all the trade offs! It has to be easy to empty, but impossible to steal; it has to be easy to put things into, but hard for things to fly out of on a windy day; it has to be solid, yet inexpensive; in some cities, it has to be specially designed so that terrorists can't hide a bomb in it. Creative candidates will often surprise you with an interesting, non-obvious answer. One of my favorite questions is Design a Spice Rack for Blind People. Inevitably, candidates will put Braille somewhere on the spice bottles, and it usually winds up being on top of the lid for various reasons which you'll discover after you've asked this question 100 times. I had one candidate who decided that it would be better to put the spices in a drawer, because it is more comfortable to scan Braille with your fingertips horizontal than vertical. (Try it!) This was so creative it surprised me -- in dozens of interviews, I had never heard that answer. And it really took a major creative "leap" outside of the bounds of the problem. On the strength of that answer alone, and no negatives, I hired the candidate, who went on to be one of the best program managers on the Excel team. Look for closure. This is part of Get Things Done. Sometimes candidates will drift back and forth, unable to make a decision, or they will try to avoid hard questions. Sometimes they will leave difficult decisions unanswered and try to move on. Not good. Good candidates have a tendency to try to naturally keep things moving forward, even when you try to hold them back. If the conversation ever starts going around in circles, and the candidate says something like "well, we can talk about this all day, but we've got to do something, so let's go with decision X" that's a really good sign.

7. Do they have any questions?

Finally, you should ask the candidate if they have any questions. Some people like to look to see if the candidate will ask intelligent questions. Personally, I don't care what questions they ask; by this point I've already made my decision. The trouble is, candidates have to see about 5-6 people in one day, and it's hard for them to ask 5-6 people different, brilliant questions, so if they don't have any questions, fine.

I always, always leave about 5 minutes a the end of the interview to sell Fog Creek. This is very important even if you are not going to hire them. If you've been lucky enough to find a really good candidate, you want to do everything you can at this point to make sure that they want to come to Fog Creek. Even if they are a bad candidate, you want to get them excited about Fog Creek Software so that they go away with a positive impression of the company. Think of it this way: these people are not just potential hires; they are also customers. They are also salesmen for our recruiting effort: if they think that Fog Creek is a great place to work, they will encourage their friends to apply.

8. Questions to avoid

Ah, I just remembered that I promised to give you some more examples of really bad questions to avoid.

Be sure to avoid the illegal questions. Anything related to race, religion, gender, national origin, age, military service eligibility, veteran status, sexual orientation, or physical handicap is just illegal. If their resume says they were in the Army in 1990, don't ask them, even to make pleasant conversation, if they were in the Gulf war. It's against the law. If their resume says that they attended the Technion in Haifa, don't ask them, even conversationally, if they are Israeli. It's against the law.

Next, avoid any questions which might make it seem like we care about, or are discriminating based on, things which we don't actually care about or discriminate based on. The best example of this I can think of is asking someone if they have kids or if they are married. This might give the false impression that we think that people with kids aren't going to devote enough time to their work or that they are going to run off and take maternity leave.

Finally, avoid brain teaser questions like the one where you have to arrange 6 equal length matches to make exactly 4 identical perfect triangles. If it's an "aha!" question, you don't get any information about "smart/get things done" by figuring out if they happen to make the mental leap or not.

Interviewing is more of an art than a science, but if you remember the Smart/Gets Thing Done principle you will be in good shape. When you get a chance, ask some of your co-workers what their favorite questions are and what kinds of answers they look for.

August 03

小桥最后一个煎饼

昨天听Yangbo兄提到,今天得到了确切的消息。小桥是个地名,不是曹操会思之夜不成寐美女。小桥是大家打水,洗澡,万人吃饭的必经之地。小桥边,有一个常年开门的煎饼摊。摊主常换常新,煎饼却一日未断,和小桥商店的粽子一起,温暖着诸位爷的心。

本想叫个外卖,竟然来不及了。

July 27

转一个TDK的影评(JT)

昨天和几个朋友去看了TDK,一部伟大的描写人性的电影。主角是一个伤心大少,只不过他伤的不是别人的心,而是他自己的心。为了弥补,他白天灯红酒绿,晚上就穿上诡异的衣服出去行侠仗义。最近两部Batman都是我最喜欢的类型。

下面转一个影评

=================================================================

  很少有的周六早上有闲情逸致去看早场的电影,The Bat Man 之 黑夜骑士。 长达两个多小时的电影,异常的扣人心弦,决非一般的商业片所能比拟。我非常欣赏这个电影对人性的复杂性的深刻描绘,好人,坏人,变成坏人的好人,和性质非常不同的坏人,都有全面的描述和彼此深刻的交流。mm后来问我,这个电影到底是说人性好,还是不好,因为里边有邪不胜正,但也有正义之沉沦与背叛。 我说,它想表达的是,人性不一定是好的,也不一定不是好的,人性是复杂的。
     => 有感于 Bruce Wayne.
    BatMan系列把Bruce塑造成一个相当完美的英雄主义形象。这种英雄主义是教科书般的,是没有明显阶级性的。首先,Bruce是当地最富有,最有影响力的年轻世袭富豪之一。 他不但有源源不断地财富来源(跨国企业正当生意),而且也在上流社会有相当的人脉和社会影响力,比如他可以轻易举办上流社会的party,来达到一定的政治影响力。同时,也正是他的财富,极大的支持了他bat man得作战经费。 毕竟batman本身不是超人,他需要花大量的财力物力去置办自己的战服,战车,和先进的高科技的各种小设备。 能够做到Batman这种身手,一方面是他个人强悍的身体素质和坚定的精神意志,还有就是财力塑造的条件。 不是一般人能达到的境界。
   他本人是正义的化身,是一个城市法制秩序的地下捍卫者,是暗夜中的守护者。不过现实生活里,他也是一个花花公子,也享受财富带来的美好生活。这与中国经典意义上的道德卫道士,那些强调禁欲,隐居,低调的神话般的好人相当不同。 他对正义的维护,当然你也可以说这本身也是有阶级局限性的,因为本质上你维护法律,就是在维护现有的统治秩序。 他所惩戒的,主要还是现行法律所规定的邪恶,而不是现有制度本身的罪恶。但我们姑且承认,这没什么问题。因为维护现行的秩序,也可以保护绝大多数的无辜者和弱势群体。 比较令人感动的是他对维护正义的这种义无反顾毫不动摇从来不怀疑犹豫的执著。 他信仰自己所作的一切。 而在这一集最新,同时也是目前最高境界的batman系列里,他还表现出了一个理念上的新转变。就是他希望这个城市的正义捍卫精神得以升华,同时得以正规化。因为他本人的力量,不足以制裁所有的罪恶,同时在很多人看来,他滥用私刑,出没诡秘,与正统的社会体制合作但不协同,本身也是一个wild card. 这个社会需要a lot more than a 侠客。于是他利用他现实的财富和地位,极力推崇和培养一个公开的,正规的正义化身,一个新上任的充满热情,对正义同样有坚定信仰的DA. 尽管这个人是自己的情敌,to some extent, 但他本身是如此无私,他把这个人当作自己的战友,并给与他极大的帮助。
   => 一些人性复杂的证据
   我也许不能很完整的评论这个电影的每一个人物,和每一个细节。 不过其中总有一些特别的情况让我更加关注。  人性复杂,在于它未必一定好,未必一定不好,很多时候人性最深处隐藏的,未必是自己所能理解和控制的。
   比如这个joker,很明显他所追求的,是非常变态的自我实现。 他犯罪,并非追求金钱,他通过暴力枪到的那个城市所有黑帮的一半积蓄,他毫不犹豫的付之一炬, 而且它似乎还很enjoy这个过程。 其实如果你仔细数数,也许他杀的那些黑帮分子,那些为了私欲犯罪的分子,似乎不比他杀的无辜的人更少。 这个Joker,作为最变态最大的反派,其实一直是追求一种所谓"升华了的犯罪",就是为了犯罪而犯罪,他享受犯罪这个过程,未必是结果。他对邪恶,有非常深刻的理解。 他也许有极端扭曲的童年,他爸爸当着他的面杀了他妈妈,他自己毁了自己的容,他的身心都无比扭曲与丑陋,但他却有极大的智慧和非常灭绝的人性。他没有价值观,没有信仰,没有恐惧,没有贪婪,没有任何牵挂因此也没有任何可被威胁的因素。 他同时,也不惧怕灭亡,似乎在他看来,死与不死,都是一种幸福。 而只要他不死,他就要毁灭别人的幸福,而且,这还不够,他还更加enjoy启发,激发别人心中的邪恶,扭曲正常的人。 其实在这个电影里,最终邪恶并没有完全被正义所战胜。 反而本来应该是最正义的象征,那个DA,却被邪恶给同化了。 被自己的仇恨,加上邪恶的诱导,给同化了。但同化出来的邪恶,同样并非是为了金钱与权力这些私欲而存在的邪恶,而是对正义有抱怨,对正义有怀疑,同时仇恨正义与邪恶的一种邪恶,就是一种价值观体系崩溃后,没有任何精神支撑的介乎正义与邪恶之间的非正义。 那个DA,他以暴制暴,他同时毁灭坏人和好人。或者说,同时毁灭作了坏事,或者作了错事的坏人或者好人。 这些人做的事,直接或者间接的导致了他个人幸福的毁灭。 因此当说到人性的复杂性的时候,我们要看到,人性是动态的,是可以被扭曲的。 尽管在这个电影里,并没有什么坏人,被扭曲成良心发现的好人。
   还有一个细节,就是那两艘船彼此互炸,从而探测人性的细节。 这个比较经典。 两艘各载满了400多人的大船,都被安装了炸药。Joker给每条船一个引爆器,可以炸毁另一条船。如果他们想救自己,就要炸死另一条船,他们就会被赦免。如果彼此都不炸对方,在一定时间之后,Joker就会炸死both. 其中一条船里,充满了从各个监狱转移出来的罪犯;另一条船里,都是一些军人和平民。 平民们很多马上就想要炸毁另外那条船,理由是他们都是罪犯,they deserve it. 而罪犯那条船,有武装的军人一直在保护那个引爆器,让谁都没有机会去引爆。 彼此僵持,时间飞逝。  大家都害怕得很,一方面惊讶为何对方还没有炸毁自己,另一方面在激烈的思想斗争,是否要炸毁对方。平民那条船进行了Vote,结果100多人反对,300多人赞成,即便如此,还没有人敢于去execute. 此时,罪犯那条船上一个看上去最凶狠,一直最严肃的罪犯,走近拿着引爆器的军官,对他说。你把引爆器交给我,让我来做这个事情。 另一条船上的人已经有足够的时间去做他们的决定了。无论我们做什么,他们本来都有选择的。还有,将来你可以跟你的上司说,是我从你这里抢来的,不能怪你。 那个军官犹豫了一段时间,然后默认了,让这个彪悍的罪犯拿走这个遥控器。 那个罪犯,坚定而沉着的拿过那个遥控器,然后更加坚定和沉着的把那个遥控器顺手从窗户里扔进了大海。然后面无表情的返回座位坐下了。 船上那些罪犯,看到这一幕,基本上也都毫无表情,就仿佛什么都没发生。 (那个扔掉遥控器的细节很震撼人心的) 而另外一边平民船,一个吵闹的最凶的平民,说你们谁都下不了手,就让我来吧! 大家默认了,而他拿住那个遥控器,等了很久,最终也没忍心下手,又慢慢的把遥控器放了回去。然后和大家一起看着表,time is up. both of them are waiting for the destine to unfold itself.
  这时Joker与batman在搏斗,而且占了上风,他制住batman不下手,就是为了让batman眼睁睁看着人性惨剧的发生,结果时间已经过了,居然两条船各自平安无事。 Joker不禁诧异万分,在他精神分散的时候,被batman反败为胜,将之制服。 对他说,你以为人性中只有恐惧,其实你不懂人性。or sth like that.
  首先,罪犯们没有理所应当的就为了自己的生命去非人道的毁灭别人;而平民们也没有因为对方是罪犯,就理所应当的真的为了自己的利益将之毁灭。 这就是人性的复杂性。复杂在于,任何人心中都可以有good.都可以有善良。 Maybe they didn't realise that, and maybe they also think kindness is weakness, but they just do, they just can't give in their good before evil.
   => People don't really need truth, they need hope.
  人们需要的往往不是真相,(因为真相可以很残酷和肮脏,尽管或者也许,这肮脏是因为错误造成的。但it is human who make mistakes), 人们需要的是希望。一种对于准则,道德和秩序的希望,both  practically, and spiritally. 本来应该最正义的DA,结果因为自己的爱人被杀,自己被毁容,被仇恨冲昏了头脑,于是就去乱杀人,虽然他杀的,都是有意或者无意犯了错,导致他痛苦的人,其中很多真的值得被惩罚,只是未必应该是死罪。 但他的这种滥用私刑,最终满足的,是他个人的私欲。 更别说,他还牵连了无辜的好人。 Joker在这个地方其实是邪恶战胜了正义,因为它诱发了正义之中的非正义,让正义自甘堕落和沉沦了。
  然而batman要警察局长对外界说,所有这些人都是自己杀的,让他隐瞒真相,让人们认为DA是殉职,让人们心中永远存在这种false hope, false image of hero.  让一切罪过都自己承担,batman不惜牺牲个人的名誉,来保住人们心中对正义的希望,尽管世人愚昧,绝大多数人分不清什么是真实的正义,什么不是。 这一点,在现实中,能找到更多的例子。
   但同时,Batman自己也被别人蒙蔽了。他自己,也被别人留下了false hope.  他深爱的女人,那个本来犹豫,是跟着batman,还是DA的女人,临死之前答应了DA的求婚,同时留给了batman一张纸条,对他说,他一直做batman这个事实,让他们不能在一起,她决定和DA在一起过正常人的生活。她其实爱着both of them, she loves the DA with her heart, but loves batman with her soul.  Yet in the end, her selfshiness gives in to her soul. 假如Bruce Wayne quits doing batman and just be a regular rich and powerful guy, she might be staying with him, however, 她爱戴作为正义化身的batman,但却不能接受这种生活。 而在batman的心中,他觉得这个女人,正在马上就要接受的他的一切的critical point. 他也被这种爱情所激励,去坚持他认为的right course to do.  但香消玉陨,打破了他幸福之梦。 这里边两个细节值得注意,第一就是Bruce没有因此被激发出心灵中的邪恶,他没有愤世嫉俗,怨天尤人。他的灵魂,接受了这种牺牲。而没有沦落到Joker所言的,他们两个都应该被关进同一个精神病院的同一房间。 而另外一个细节,就是Bruce的管家,他悄悄的烧掉了那个女人留给Bruce得最后纸条。 他没有让Bruce知道那个女人最后时刻的最真实想法。 Batman also needs hope, instead of absolute truth.  假如batman知道,他的爱情会因为他为正义的献身而消逝,他的灵魂还会那么无邪么?
  黑夜骑士,他周旋在复杂的人性之中,走在正义与邪恶的边缘,承受着来自两面的压力,甚至是制裁。 他并非一个真正意义上的英雄,他是一个守护者,守护者他心中的价值。 然而他所守护的人类,究竟是否值得被他守护?他们是否能够理解这种守护的伟大,和对此有感激? 也许Bruce一上来,就没打算获得任何感激,他只是守护着他自己的希望,那种对人性有信仰的希望。

July 24

跪拜MSN

在关键时刻挂掉,微软真是太伟大了,stO MSN Orz

网球1小时

CMU的网球场很有东操的感觉。
发现最近有老年痴呆的趋势,打球时据lao ni观察会跑过反身再接,分特

July 19

荣格

很有意思。

=====================================================

首先,荣格把人的态度分为内倾和外倾两种类型。内倾型人的心理能量指向内部,易产生内心体验和幻想,这种人远离外部世界,对事物的本质和活动的结果感兴趣。外倾型人的心理能量指向外部,易倾向客观事物,这种人喜欢社交、对外部世界的各种具体事物感兴趣。

其次,荣格认为有四种功能类型,即思维、情感、感觉和直觉。感觉是用感官觉察事物是否存在;情感是对事物的好恶倾向;思维是对事物是什么作出判断和推理;直觉是对事物的变化发展的预感,无需解释和推论。荣格认为人们在思维和情感时要运用理性判断,所以它们属于理性功能;而在感觉和直觉时没有运用理性判断,所以它们属于非理性功能。

荣格把两种态度与四种机能类型组合起来,描述了八种不同类型的人。

外倾思维型——这种人喜欢分析、思考外部事物,生活有规律,客观而冷静,但比较固执已见,情感压抑

外倾情感型——这种类型的人多为女性。她们的思维常常被情感压抑,没有独特性,非常注重与社会和环境建立情感与和睦关系。

外倾感觉型——这种类型的人多为男性。他们喜欢追求欢乐,活泼有魅力,对客观事物感觉敏锐,精明而求实。但易变寻欢作乐的酒色之徒。

外倾直觉型——这种人喜欢追求外部世界的新直觉,易变而富有创造性,有多种嗜好,但难以坚持到底,做事常凭主观预感。

内倾思维型——这种人喜欢离群索居,独自追求自己的思想,常以主观因素为依据分析事物,待人冷漠,倔强偏执,情感受压抑。

内倾情感型——这种人沉默寡言,不易接近,给人一种神秘莫测的吸引力。但内心有非常丰富、强烈的情感体验。

内倾感觉型——这种人对事物有深刻的主观感觉。喜欢通过艺术形象表现自我。缺乏思想和情感,较被动,安静而沉稳,自制力强。

内倾直觉型——这种人富于幻想,性情古怪。思想往往脱离现实,不易被人理解。常产生各种离奇的幻想和想象,体验奇特怪异。

荣格所划分的这八种类型只代表极端的情况。实际上每个人都会表现出某种占优势的性格类型,在他身上还有不占优势的第二种或第三种性格类型。其中有意识的因素,也有无意识的成分,两者的相互作用构成了千变万化的人格类型。

=========================================================

    荣格(1875-1961),出生于瑞士康斯坦斯湖区的小镇基思威勒的传统基督教家庭。其父亲为路德会牧师。 荣格从小便受到父亲对信仰真确性挣扎影响。经过他对基督教信仰的研究探索,他发现在当时的基督徒,包含其父亲在内,所信仰是基督教神学教义,并非对上帝的经验响应。因此荣格认为研究基督教的信仰重点在于上帝知识起源的探究,而不是在上帝存不存在的辩证。从荣格晚年接受英国国家广播公司(BBC)记者采访对答中,可以看到他对这个问题的态度与立场。当他被记者问及有关相不相信上帝存不存在的问题时,他的回答虽然简短,但是很有力而且清础表答出他的立场。他回答说:我不相信。因为我知道,所以我不相信。荣格因为将研究基督教信仰重点放在对[上帝]知识起源的了解,所以做如此的回答。不过这个问题也真促使荣格投入一生,致力于解开人类人灵深处所隐藏的心理性问题。荣格常重复提到,我深信,心灵的探讨必定会成为未来一门重要的科学....这是一门我们最迫切需要的科学。因为世界发展的趋势显示,人类最大的敌人不在于饥荒、地震、病菌或癌症,而是在于人类本身,因为,就目前而言,我们仍然没有任何适当的方法,来防止远比自然灾害更危险的人类心灵疾病的蔓延。
    虽然,荣格求学是在瑞士巴色(Basel)和苏黎世(Zurich)二所大学主修医学,但是他也研读许多哲学与神学方面的课程及书籍。  在十六岁到二十五岁之间,他所涉猎研读的范围含盖广泛,从柏拉图到康德、黑格尔和尼采等人思想,他都极为热衷研究,也因为他的努力,打下往后在学术研究深厚基础。
    荣格大学毕业时,虽然在正当精神治疗尚未兴盛受重视的时期,他毅然选择进入苏黎世大学精神治疗中心,担任布罗拉(Eugen Bleuler)教授的助理。很快便因表现杰出升任资深精神科医师,1902年他前往巴黎随Janet研究精神病(Psychopathology)一学期,在同一年荣格提出一篇题为[论神秘现象心理学与病理学]的论文获得博士学位。论文中心议题,每个人都具追求心灵完整的自然性向。荣格也将研究重点往这方面发展,在这段时期他所发展的理论是有关如何超越精神病症,进而找出病症背后所隐藏的故事。他认为谈治疗必须要先研究及完整了解病患病症背后所隐藏的故事后,医生才能对症治疗。
    在提出这个理论后,荣格进一步着手有关字联想的研究。他使用相关联试验法,找出对[情结](complex))的定义,并将此方法,也运用到后来所从事无意识的研究上。1905年荣格受聘担任苏黎世大学讲师。1907年出版[精神分裂心学] (Psychology of Dementia Praecox),荣格在书中主张,应将人幻觉或妄想的心理源头,做有系统整理。他试图以心理分析来处理这些相关病症。佛洛依德读完此书后,便邀请荣格前往维也纳会谈。从会谈之后,荣格展开与精神医学运动七年密切合作关系。不过好景不长,在荣格发表[潜意识的心理学]一书后,佛洛依德与荣格之间便产生不同观念主张的争论,这个论争也成为两人分裂的导火线。
    荣格在书中主张儿子与母亲近亲发生性行为的欲望,是来自人心灵根源,而非佛洛依德主张是来自婴儿性欲期。对于心理学与宗教关系,佛洛依德认为精神医学是属科学性研究方法,处理有关宗教心理问题并不像荣格积极。因此,到了1913年荣格正式与精神医学学派分裂,在这同时荣格辞去其大学教职及退出国际精神医学协会,以便专心发展其心理分析的理论。  
    虽然荣格是在瑞士苏黎世湖滨定居及开业,但是他的足迹遍及法、义、美等国家,一直到第一次世界大战后,他的旅行才终止。 他也曾经多次与不同地区原住民接触,1920年,他到过非洲的突尼斯及阿尔及利亚,1924-1925年间,到过新墨西哥州及阿利桑纳州的印地安人区,找寻人类神话失落一环,1925-1926年间,他到过非洲肯亚的爱尔根山区与当地居民同住,后来也到过埃及。在他的旅行过程中,主要目的是要尝试找出现代西方人与远始居民之间,其潜意识心灵内函异同所在。 除此外他也对佛教徒消除本质对立的能力有深刻印象,相同地老子、孔子、禅学、易经等东方思想也深深地令荣格着迷。基本上荣格认为凡是可以提供他了解人类心灵的密秘,他都愿意学习。在他认为冶金术及其哲学是与人类心灵发展过程最有直接关系的科学。
    荣格一生努力研究成果的贡献,包含提出对人格型态的定义及发展过程,集体无意识,原型,自我,梦的本质,字的联贯,神话的价值,个体化,和驱向整体性的精神等理论观念研究。佛洛依德可说为现代人打开了通往心灵研究及心理治疗的门径。荣格却带领我们进一步向心灵作更深一层的探讨。荣格虽然是以心理学为主要研究发展方向,不过事实上,他对宗教与现代人道德失落问题也非常感兴趣,这可从其著作中看见这个事实

View more entries
 
View space
Sam
View space
Ray
View space
(no name)
View space
xixi
View space
Ni Lao
View space
红儿
View space
jiao
View space
(no name)
View space
皮革马利翁◎阿佛洛蒂特的祭祀
View space
Flying_fei
View space
毛毛虫
View space
Nina
View space
Yuhang & Shan
View space
空心菜
View space
Jue
View space
tension
View space
ppss
View space
赶狗的哥哥
View space
Christophe
View space
bofu
View space
我的奋斗
View space
(no name)
View space
Rui
View space
(no name)
View space
JEFF