Monday, January 22, 2007

为什么涨价?中国的房子,其实是不断贬值的

自约1998年以来,由于种种原因,如个人房贷在利息很低的情况下从无到有的飞速发展,股市进入熊市等,全国房价都出现了持续大幅上涨行情。深圳广州等地曾受香港房价下跌的影响,曾一度逆市下跌,(广州在2004或 2003年上涨之前,曾连跌8年),这两年的补涨势头却一枝独秀。不少投资房产的人收益颇丰。所以不少人会怀疑,是不是啤酒白酒混合液喝多了,标题写错了吧?

我可以肯定地讲,没有错。也许美国或是日本的房子有可能是不断升值的,可是中国的房子真的是不断贬值的。且看我仔细道来(放心,没有下回分解):

根据中国大陆的法律,房屋的产权分两部分,一是土地的使用权,二是房子的所有权,并且因为房屋是建在土地之上的,所以房屋与土地不可分割,要出售,一起出售,要抵押,一起抵押。这里注意,房产的土地只是使用权,而不是所有权,并且这个土地使用权是有期限的,不是可以占用到地老天荒,海枯石烂的。时间根据土地性质有所不同,居住用地70 年;工业用地50年;教育、科技、文化、卫生、体育用地50年;商业、旅游、娱乐用地40年;综合或者其他用地50年。

同样,这样要注意,是最高70 年、40年和50年,而不是一律最高年限。比如我有个亲戚,在约1990年左右买的房子,土地使用权只有50年。并且是从开发商与土地管理部门签订协议,或通过拍卖取得土地使用权的那一天开始算,而不是房子盖好那一天开始算,更不是从拿到房产证开始算。所以上海浦东有个所谓的环球金融中心,曾经停工八年,如果使用期限是50年,考虑到施工、装修等时间,等建好,真正的使用时间可能只有40年。

房子为什么会涨价?归根结蒂,是土地的价值在涨,因为同样地段的土地不可再生。比如联合国建立的时候,经费紧张,洛克菲勒慷慨地买了一块地免费送给联合国建房,但是他已经把这块地附近所有的地都买了下来。因有了联合国总部的建筑,对周围土地的需要就大大增加,但这些土地是有限的,于是升值了,洛克菲勒做了好事还赚了大钱就是这个道理。而中国大陆商品房的土地所有权永远属于国家,那么土地价值上涨了,是国有资产增值了,与买房人根本就是风马牛不相及的。就好比出租的房子涨价了,租房人并不得利,得利的是出租方一样。可是这个道理懂的人应该不会太多。

而房屋本身,难道不是每天在变得陈旧吗?显然每天都在贬值。这和一般的商品是没有区别的,只不过陈旧的速度慢得多,但毕竟在不断变旧,三百年前的故宫肯定比现在的新。现在我们看到的长城其实是明代长城,无数象孟姜女丈夫那样的苦命人修的秦代长期绝大部分已经不存在了。

这样,房子产权总体上讲,在一个相当长的时期内,比如20年,肯定是升值的,但是升值的根本因素是土地,房屋实体其实是不断贬值的,而土地又属于国家所有,那么难道房子不是不断贬值的吗?

并且房子的贬值不光表现在因其不断陈旧的贬值上,新房子采用新的技术,更实用的房型,也会让旧房子相对贬值。中国房屋建筑技术含量是非常低的:中国一立方米房子的耗能、耗电是日本的3 倍。大家想想,自己住的房子,还有办公室,是不是到夏天一关空调,马上就觉得受不了?日本有很多房地产企业,搞的青钢结构的房子,专利有5000项;日本还有一家叫做“三泽”搞木结构的建材的企业,这方面的产品专利是1000项,还有其他几家他们的专利都在千项以上;中国著名房地商万科从1999开始搞技术开发,但据说现有专利只有数项。

随着越来越多先进、环保的建筑材料和建筑技术在中国的广泛运用,原有的房屋会象没有城镇户口的农民工一样受到歧视,造成贬值。另外有些方便生活居住的设计,也是从无到有的。比如上海不少老的小区门口都有净化水的装置,可以用来接净化的水,可是新的房子,这样的水直接通入居民家里。这也一定程度上造成老房子的贬值。

就因为房子会贬值,所以所有企业都对房屋提折旧,根据中国的《企业会计准则》,折旧期一般是20年。难道住房就不会贬值?不该提折旧?

一般房产开发是这样的,由开发商与政府部门签订协议取得土地使用权,开发商卖房的同时,把土地使用权转让给买房人。来学习一下《城市房地产管理法》第二十一条的规定:“土地使用权出让合同约定的使用年限届满,土地使用者需要继续使用土地的,应当至迟于届满前一年申请续期,除根据社会公共利益需要收回该幅土地的,应当予以批准。经批准准予续期的,应当重新签订土地使用权出让合同,依照规定支付土地使用权出让金。土地使用权出让合同约定的使用年限届满,土地使用者未申请续期或者虽申请续期但依照前款规定未获批准的,土地使用权由国家无偿收回。”

要提前一年申请,如果忘了怎么办?我也不知道。同时中国绝大多数的房子是公寓楼房,多个业主共用一块土地。到时候如果继续使用该土地,就要所有的人共同协商缴费,如果100个人中,有一个人不同意出钱,怎么办?其他人是帮他交,还是一同不交?记住孙中山的名言:中国人是一盘散沙。不光体现在有些业主要维权,开发商很轻松就一一击破。不要说财大气粗的开发商了,就是一些蛮横的物业公司,也有不少为所欲为的。

有人可能问,房屋土地使用权期限到了以后,可以继续缴费,把期限延长嘛。多天真的想法,如果是10岁的天真的儿童,祖国的花朵这样想,应该夸奖这样的儿童聪明,可是如果是成年人这样想,就有些悲哀了。甚至更有些“聪明”的人,说:《物权法》如何如何规定。这里要搞清楚,《物权法》仍未出台,正在修订,具体如何规定,仍不得而知。并且如何规定其实都无关紧要。因为:如果真的可以重新缴费,延长土地使用权期限,请问那时候的土地价格是现在的多少倍?最关键的,房子的使用寿命是多少年?70年以后房子还存在不存在?只有土地使用权期限到期后,房子仍存在,才有必要考虑这个问题。

在约1998年,武汉一个老建筑的业主收到远在英国的一家建筑设计所的信:这所建筑是这家设计所设计的,设计使用寿命是80年,已到期,提醒业主注意居住安全。那么中国现在普遍建造的商品房设计使用寿命是多少?

最近有文章讲,是30年。中国的建筑设计所能像这家设计所这么负责?中国是个容易产生劣制商品的国家,甚至有豆腐渣工程。就是合格的设计,在施工过程中也可能有偷工减料的事情,比如前不久有报道说浙江某地,建筑商用竹子代替钢材造房子,这样房屋就达不到设计使用年限。典型的是北京的体育博物馆,作为博物馆,设计寿命应当达到150年,可是使用不到10年,就严重开裂,严重危胁人身安全,已停止使用。(可在网上搜索一下)。

2005 年北京媒体报道说:统计数据显示,我国房屋建筑寿命较短,北京尤其明显,平均下来还不到30年,仅为设计寿命(50年到70年)的一半。半官方的建设部住宅产业化促进中心副主任童悦仲说:“我国城市住宅寿命低于50年的情况相当普遍”,“使用年限短已成为我国住宅的突出问题”。

由此可见,中国房屋不象埃及金字塔一样可以存在几千年,它的寿命多半在土地使用权期限到期之前就已经结束了,所以恐怕并不存在土地使用权期限到期后房子怎么办的问题。

有兴趣的人,可以在网上查一查,房屋的建筑设计寿命标准,以及实际的中国民居寿命。

所以一到70年,甚至50年以后,房子根本不存在了,或是成为危房了,还谈什么继续缴费?如果因为是危房,爆破了,可以重新建房了。那么多业主能谈得笼吗?我做律师时间不长,可有个发现,就是中国人不愿或没有习惯通过妥协达成双赢。往往双方中,一方以对方必须答应一定的条件为基础作为自己愿意谈判的前提条件,而对方同样如此。这样不识时务的人太多了。业主有资格可以象开发商一样建房吗?看看现在的集资建房吧,有几个成功的?一个没有。有些明显是法律不允许的。比如上海,要求建成的房子必须在网上统一公布,面向全社会统一发售,而不能内部认购。这个规定当初是为了规范房地产销售,不料目前成了一把双刃剑,限制了个人集资建房行为。

如果买的房子在房屋建成二三十年后发现有质量问题,建筑商或开发商为节省成本,使用最差的材料,甚至是不合格材料,导致房子远远达不到设计使用寿命而无法继续使用,买房人有什么办法?可能一点办法也没有。因为中国的《民事诉讼法》规定了诉讼时效是两年,从知道或应当知道自己权利受损之时起,但最长不超过20年。所以只要超过20年,哪怕房子倒掉了,从理论上讲,人们恐怕也不能追究建筑商或开发商的责任。而开发商或建筑商,可能早就倒闭了,或是解散了。不要说民事责任了,就是有人杀了人,过了20年跳出来嘻皮笑脸地对受害者家属说你们家失踪的某某人是我杀的,也不能追穷他的责任,除非最高人民检查院特批准。

可是现在的房屋质量,好象只有合格或不合格。其实同样是合格,还有质量优良和质量一般的区别,可是人们在买房的时候,应该没有人去调查,也无法调查房屋质量到底如何,而价格却并不考虑房屋质量这一因素。可是显然不同质量的房子,使用期限是不一样的。

可能有人问,卖卖二手房的人,特别是一些炒房人,把不断贬值的房子,以并不属于自己的不断升值的土地用以包装,高价卖出,收取土地升值的收益,不是骗人吗?可是大家都在这样做。但是出卖人的收益不是从天上掉下来的,而是买房人的损失。想起一个寓言,吕洞宾想收一个弟子,条件倒不要求本科学历、北京户口、身高一米八以上,但要心术正,于是就教潜在的弟子点金术。

几乎所有人一听吕大仙教这个技术,都乐不可支,只有一人问:“这些东西是否永远是黄金?”吕洞宾说:“不,过100年后就恢复到原来样子。”这人说:“那我不学了,总有一天,这些看似黄金的东西会害人的。”他虽未学会点金术,吕洞宾却终于找到自己满意的弟子。实际上炒房就是害人的,房子还是那套房子,50万涨到100万,这个社会的财富难道增加了?如果是增加了,那么政府多印一些钞票也算增加了社会财富。没有一个理性的政府会多印钞票来增强国力,这样只会带来通货膨胀,成为经济史上的笑柄。同样,对炒房,也应该加大限制。个人所得税和营业税的恢复征收是大好事,可惜太晚了。

房屋不断贬值的现实,仅仅是我2010年前肯定不买房,有可能终生不买房的理由之一罢了。但并不妨碍无数其实没有什么钱,要通过房贷成为房奴,去购买被抵押给银行的,质量不知如何的房子。到底哪个是阳光道,哪个是独木桥,并不是一目了然的。有人死了也要爱,有人死了也要买房啊。

Thursday, January 18, 2007

好男人必学的10道超级简单的菜


一、炖排骨

 炒锅烧水,水开后将切好的排骨放入。马上关火,将排骨捞出。重新烧水烧开后,放入:葱,姜,酱油,醋,料酒,糖,盐。

 注意:

 1、醋少放, 酱油多放, 看颜色差不多就好了。 糖和盐按口味放。

 2、然后大火转小火, 盖锅盖慢慢炖。中间经常翻一下,防止烧枯。 等水差不多干了的时候就好了。放葱起锅。

二、闷蛋

 1、打四个到五个鸡蛋,放入葱末和适量盐搅拌,待用。

 2、热锅,放中等油量,等油热以后下鸡蛋,有点熟以后铲产锅底,不要让鸡蛋粘住,再加少量油,反复这样两次,等底下的蛋熟了以后,翻过来,翻面的时候最好准备一个盘子~先把盘子扣在过上 然后翻个,稍微热一下就好了,起锅。

三、红烧茄子肉丝

 1、三根细茄子,洗净,削皮,剖称两半切成一厘米宽度的小块,待炒。

 2、加中等偏大量的油, 7、8成热的时候下锅翻炒,待到茄子有点软的时候起锅。再在锅中放少量油, 切好葱姜蒜末暴之,然后放大约二两左右的肉丝,要大一些,肉片最好,爆炒,熟了以后放茄子,立刻放酱油,少量的水,糖, 鸡精,盐,闷之。

 3、三分钟后即可食用。

四、鸡蛋炒西红柿

 1、两个西红柿切块,两个鸡蛋捣碎。两勺色拉油,看得见为止,油热放鸡蛋,加少两盐,稍微熟即可,越嫩越好,然后铲出鸡蛋,关炉子,如果锅里还有油就不用加油了,或者从蛋碗里倒一些出来。

 2、开旺炉子,搅拌西红柿,放中等量盐(宁淡勿咸),放中等量水,煮两分钟以后放鸡蛋。等水开之后放一勺糖,搅拌一下就可以起锅了,这时可以放味精,起锅之时可以放些大蒜叶。 大功告成。(总耗时:2:42)

五、可乐鸡翅

 1、买好的鸡翅稍微洗洗,放入炖锅里;切姜片,少许,放入锅中;

 2、加可乐,将鸡翅淹没;加酱油,大约是可乐的1/3左右,看颜色红黑就行了。盖锅盖, 大火煮;

 3、煮开后,换小火炖。炖的过程中,可以看一下颜色是不是发红,如果太淡会甜,太深则咸。炖的差不多了,用筷子戳鸡翅,感觉软了就好了。

六、蘑菇香菇红烧豆腐

 新鲜香菇和新鲜蘑菇切片,一大块手工豆腐不用切块,中等偏上的油量,等油稍热,下蘑菇和香菇,锅里放一勺盐,搅拌一下。然后是豆腐,豆腐上也放一小勺盐,翻炒至稍热微熟(1分钟左右)放酱油,接着立刻放一大勺白糖(整个菜不能放水)放大蒜叶即可起锅(没有也可,大蒜末也可。)整个过程(总耗时4: 43)

七、牛肉芹菜

 材料:嫩牛肉300克,芹菜150克。调味料:盐,白糖,味精,淀粉,姜,蒜,胡椒粉。

 做法:

 ① 将芹菜切成薄片。牛肉横切成2厘米长的薄片,放入碗内,(加小苏打)、酱油胡椒粉、水淀粉,绍酒、姜末和清水,浸10分钟后,加入话生油,再腌1小时。

 ②炒锅上火,花生油烧至六成热,放入牛肉片,用勺拌和,待牛肉色白时,倒入漏勺沥油。锅内留少许油复上火,放入葱姜片爆炒, 放入芹菜块,一分钟左右放入牛肉同炒,放入盐,糖加水中小火5-10分钟左右,加味精,淀粉勾兑起锅。

八、皮蛋豆腐:

 内脂豆腐一大块用开水烫过放凉,皮蛋切小块(密技:用棉线切割又快又不沾)放在豆腐上,撒葱花,淋酱油,点香油即成。

九、洋芋头鸡蛋汤

 洋芋头一个切丝,鸡蛋两个捣碎,锅内烧开一大碗开水,倒入洋芋头丝和盐,煮至水开丝烂,倒入鸡蛋,稍微搅伴,加味精和麻油,起锅。

十、咖喱鸡翅

 鸡翅可根据个人喜好选用翅中或翅尖,刀斩开,开水抄三五分钟即可备用;

 土豆、葱头、鲜香菇、青椒(也可选尖椒)切片备用;热锅凉油入咖喱粉适量(个人喜好),出咖喱香后稍沉一会儿顺序入葱头、香菇、土豆、鸡翅、青椒...,放水放调料(自选,俺只放盐)咕嘟到土豆熟了,入水淀粉,起锅。(现在超市里有包装现成的咖喱卤.辣,微辣,甜味的都有,做时都不用放淀粉)

Sunday, January 07, 2007

面试编程题的一些经验

发信人: starstorm (尘影), 信区: JobHunting
标 题: 面试编程题的一些经验
发信站: BBS 未名空间站 (Sat Jan 6 18:53:16 2007)


我几个月前开始找工作的时候,一直在这个版上潜水,得到了很多有价值的信息。我总
想有机会回报一下大家。我很早就想把我的一些心得写下来,给大家参考。但因为我不
习惯灌水,刚换了工作,搬了家又比较忙,一直没有动笔。现在比较闲了,于是决定把
它写下来。LP马上也要找工作了,也算是给她攒RP吧。

关于找CS的工作,网上的资料和经验极多。我相信大家对算法,数据结构,面向对象之
类的肯定很熟悉了。我在这里不想重复别人已经讲过的东西。我只是想强调一下解答编
程题的一些原则,这是我一些经验和教训的总结,希望对大家有所帮助。除了举例以外
,我不准备Post我碰到的题目,因为绝大部分的编程题在网上都可以找到。

本人当时有一年多的工作经验,找的是Develper的工作,算是Entry Level或稍微高一
点的级别。所以我碰到的问题,大概和本版上活动的大多数人差不多。我不知道更
Senior的问题会怎么样,但一个朋友告诉我,只要是申请Develper,而不是Manager,
编程的问题是必不可少的。

我两年前找过工作,我发现这两次找工作有一个极其明显的区别。两年前的面世,编程
题强调算法,他们往往会要你写一个非常复杂的算法,但并不要求程序很准确。而现在
的面世,算法的要求大为降低,但其实更有挑战性,因为-面世人要求准确无误。一个
Manager给我出了一道很简单的编程题,写一个函数,我最后用C写完不到50行(还包括{
})。简单吗?不。因为他说,这个程序必须能编译通过,运行无误。

如果你还觉得简单,那我只能佩服。我学了十几年计算机,写的code不算少,特别是工
作一年多来,每天都在写。但我觉得这实在是不容易。

首先,仔细地考虑问题。一道题哪怕做过100遍,也要再三考虑。Do not work too
fast, do not try to solve a lot of questions. That does not give you any BIG
CREDIT! 记住,安全第一,言多必失。If the interviewer expects you to solve 3
problems in 45 mins, and you solve them within 30 mins. She may have to ask
you two more. If you solve them correctly in 15 mins, it may increase your
credit a little bit. But if you make one single mistake, it will be used
against you GREATLY! So, think of the benefit and risk, and consider whether
it is worthy to take the risk. Remember, for a entry-level programmer, the
company just expects you to pass the bar. So do not take risk impressing
them. And for a senior programmer, I also believe it will not increase your
credit a lot just because you can solve some simple programming problems
quicklier than others.

我们碰到的题目,一般会有两类,一类是写一个函数,另一类是设计一个类。还有一类
是设计多个类,以我的经验(包括从bbs上看到的),没有太多的公司考这类问题。

If the task is to implement a function, you need to ask to clarify:
(1) What is the task?
(2) What is the input?
(3) What is the output? How to return normally? How to return an error?
(4) What is the data structure?

First, you may ask the interviewer to give you some input example, then
write some more input example (test case) yourself. 如果要写出没有错误的程序
,就必须象tester那样思考问题,那样给自己挑错。我在后面会介绍一些容易出错的地
方。Test-driven的程序设计方法现在非常流行,我们准备面世当然不用搞得太复杂。
但一些testing的感觉会非常有帮助。Think it this way. What is the purpose of
your program? It is nothing but to process the input data! So when you write
code, you MUST bear it in mind what kind of data this statement, this code
snippet will process? So why not just enumerate all the test case before you
write your function? In my experience, writing test case can help me write
the program easier by just considering how to deal with those cases, and it
makes the program need less modification later!

Test cases for single function are typically a discussion of all the
possible input parameters, good input, boundary and bad input. You need to
pay special attention to boundary and bad input, which mean a branch in your
code.

举例

Implement function
char *strtoken(char *s1, const char *s2)

Strtoken() considers the string s1 to consist of a sequence of zero or more
text tokens separated by single characters from the separator string s2.

First you need to ask the interviewer how to return the result. She may say
the first call, returns the first token, second call returns the second
token, blah... If all the tokens have been returned, the call return NULL.
Then you need to ask her if it OK to change the input string s1, and she may
say it is fine (Actually this is implicited because s1 does not have const
while s2 does, pay attention to such signals. And remember, when you write
function prototype yourself, add const in the parameters whenever possible).
This means you can use a NULL to replace separators in s1 and return a NULL
-ended token, and this returned pointers will point to some place in the
string s1. Then you may ask as this function only returns tokens, not the
pointer to a position in string s1 that is to be searched inthe next call,
how to distinguish each calls. She may ask you to think it yourself (
probably) or she may tell you only the first call has input s1, the
subsequent calls set s1 NULL. Then you should know you need to record the
information of the current position in the function, which means a local
static variable.

Test case:

s2: NULL, empty (*s2 ==\0), one or more chars
use D to represent separator, N non-separator
s1: NULL, empty, all N, all D, starting with N, starting with D, ending with
N, ending with D
A typical s1: NNNNDDDNNNDDDNNND....

After you lists all the test cases, ask the interviewer to review it and
whether she has more to say before you proceed to implement the function.

After you finish the function and the interviewer accept it. You may mention
risks, performance bottlenecks, possible optimizations, and alternative
algorithms.

In this function, you may say the bottleneck is the function to search
whether a char in s1 is in s2, so you may optimize the function find(char ch
, const char * separators). (Suppose you use such a function, and I would
recommend this) Several ways, such as sort the string beforehand and use
binary search, use advanced datastructure such as std:set, or hashtable, or
use an array of size 256 to represent whether an ASCII charactar is in
separators.

Also you may want to mention that it is not thread-safe because of the local
static variable. And propose some solutions such as use a class to wrap the
function.

举例

double atof(const char * str)

Test case:
str: NULL, empty
typical: [+-]?\d+{\.+\d*}? 我用regular expression 表示。这个题如果不写出所有
的test case,很难做对。

Some questions should be asked?
How to deal with non-digit, friendly (ignore) or non-friendly (error), how
to return an error?
How to deal with special case: str is NULL or empty
empty: 0 obvious
NULL? 0 or error?
How to deal with overflow/underflow

举例

walkclock(int hour, int min) return the angel between hour hand and minute
hand.

Questions:
What exactly the function is expected to do? Is the direction a factor (
clockwise or counter-clockwise?) From hour hand to minute handor or the
contrary?
Boundy condition. If the two hands overlap, how to do with it?
What is 值域 (domain), [0, 360) or [-180, 180). I think you must explicitly
write this otherwise it will be very confusing.
Boundary condition, 12:00 (or 0:00)

这三道题都是很简单的题目,但我在interview中都出过错。

另一类题是设计一个class完成某个任务。它的出现频率比第一类少。我只是想简单的
谈一下一些基本的原则。我不准备涉及多个类的design,它们的出现频率更低,而且我
自己也没有把握。

(1) Ask the requirements/responsibilities of the class, a class should have
small set of responsibilities
(2) Write interface (public method to be called by the client) first, do not
forget write constructor if something need to be initialized
(3) Make sure what exactly a class, and its interface do, write some example
(test cases)
(4) For every public method, design and implement following the discuss on
function above
(5) Pay attention to the signature of methods. Use const wheneven possible.
(6) The signature in implementation shoud be the same with the signature in
declaration
(7) Be prepared to deal with errors if anything related to memory allocation
or network conection or file I/O
(8) If constructor use new, or create other types of resource, need to write
destructor, need to override copy constructor and assignment constructor.
(9) If a class is possible to be used as a base class, make destructor
virtual
(10) Make every member as private as possible.

这些原则很简单,但记住它们可以避免很多最愚蠢的错误。我会在心里记住它们,然后
在写程序的时候一条条地检查。

有很多好书介绍C++的设计,所以我就不用再多说了。

下面是我对各种容易导致错误的地方的一个分类总结。当你在编程时看到它们,心里就
要想起它们可能会导致某种类型的错误。

NULL-ended char string (char *)
(1) NULL
(2) empty, pointing to \0
(3) The char array that can accomondate string is strlen()+1
(4) Some function, like atof(), input string has very complicated form.
(5) More than one string, consider the relationship between two strings, e.g
., strtoken()

Function
(1) Return pointer to local variable
(2) Return reference to local variable
(3) Static local variable (not thread safe, can use a class to replace it)
(4) Use const as much as possible
(5) Return type? Value, reference, const reference, pointer?
(6) How to return error?
(7) If the input parameter is an object, better use reference or pointer

Array (vector), pointer to array
Out of band
(1) Index is result of an operation
(2) Index must be unsigned!!! Otherwise need to gurantee it is > 0.
Especially when char is used as index. char is [-128, 127]
(3) For vector, use iterator as much as possible
(4) Must check bound before access. Otherwise, explain to interviewer why
the check is not necessary. e.g., size is 256, index is unsigned char [0,255
].

Link list
(1) what is data structure. Typically
struct Node
{
struct Node * mNext;
int value;
};
(2) Empty list
struct Node * head = NULL
(3) Only one Node in the list
(4) Pay special attention to operation on head or tail
(5) Whether the list has loop

Type declaration, their value ranges
In different architectures, this is not the same. In X86, int is 32 bit.

Expensive initialization
If a varialbe need a loop to intialize, try to delay it as late as possible

Bit operation
Use unsigned char (int, long)
Size of int, char, long

Tree
Is a general tree or binary search tree, or balanced binary search tree
Is it an empty tree

Arithmetic operator
Overflow/underflow, especially pay attention when cast another type to
interger/double. E.g., atof(), must mention the possibility of overflow/
underflow.

Pointer
当你在使用指针时,除非有充分的理由,必须检查它是否为空。例如,double atof(
const char * str)。绝对不要对interviewer说,"How about assuming the input
str is not NULL?" She may say "That is OK". But remember, probably she would
forget it when she criticizes your program in the end during the interview,
or when she discusses your case in the meeting of the hiring committee, she
may submit her note which is the exact copy of what you have written, or
even pictures she took on your code in the board. So DO NOT TRUST her. Just
write two simple lines:
if ( NULL == str)
return 0;
That is simple, and safe.

这是我在找工作中一些经验和教训的总结,希望对大家有所帮助。

最后感谢在这个版上活动的所有的朋友,尽管我在这里从没有说过话,问过问题,但我
的确从这里得到了很大的帮助。祝愿大家在新的一年里,都能找到理想的工作。

Tuesday, January 02, 2007

美元贬值导致中国外汇储备贬值是一个伪命题

信源:中华网
中国外汇储备贬值,是一个伪命题,我以前的文章已经说过,只要我们手中的美元,不兑换成人民币或者欧元等,就不存在通常意义理解上的 “贬值问题”,原本是一美元的东西,还是同样用一美元购买。外汇储备中的美元购买力,一直是用于海外市场,其在海外市场的购买力,与美元贬值与否无关,但是和美元是否崩溃有关。例如,现在人民币相对于美元,从1:8.22升值到1:7.8,可是用于购买海外石油的外汇储备中的美元,从当初每桶75美元,变成现在的每桶60美元,我们外汇储备中的美元的购买力,是上升了还是下降了?很明显的,我们手持的美元,对于石油的购买力,并没有随着美元对人民币的贬值而下降,相反,是上升了,我们手中同样的美元,购买的石油更多了。请问阿聘兄,我在偷换概念吗?所以我说,中国外汇储备随着美元对人民币/欧元贬值而贬值,是一个伪命题。美元在全球的购买力,和美元对人民币/欧元的升值贬值没有直接等比的关系(但是有间接关系,是一种多货币外汇市场中影响力的间接关系,难以用比值来准确衡量,说到底就是美元“是否崩溃”,而不是“是否贬值”。)

当我们把手中的外汇储备换成人民币使用时,这个贬值就会生效。可是为什么我们要把它换成人民币来使用?我们直接印刷人民币不更好吗?中国政府是全球唯一合法印刷人民币的政府,想要用人民币,直接印刷就是了,当然,前提是要保持国内经济稳定。这种事情,我们做了十几年了。中央政府多年一直说的“积极财政”政策,就是指多印刷人民币用于流通(大约每年1000~2000亿人民币,高峰时我记得曾经有过3000亿,在财政部帐面上体现的,就是“财政赤字”),以此来刺激国内经济的增长。这种做法,是各国通行的,只要在一定范围内(如果没有记错,应该是占GDP 3%以下,都是安全的)。

所以我不明白,为什么我们要把手中的外汇储备中的美元,兑换成人民币在国内使用?而事实上,即使把外汇储备中的美元在国内使用,最终央行依然得用人民币把美元兑换回来,因为根据宪法,只有人民币是国内唯一合法流通的货币。这种把外汇储备中的美元投入国内使用,而后央行又得用印刷的人民币兑换回美元,依然成为外汇储备的傻瓜行为,谁会做?

当然,人民币不能随便印刷,要和经济总量保持一个安全的比例,防止货币发行过量造成通货膨胀,但是“赤字”1000亿~2000亿人民币,并不是天塌下来的事情。

而我们的外汇储备中的美元,什么时候真正贬值?当美元崩溃的时候,美元国际信誉完全破产的时候,美元在国际上没有购买力的时候,那我们握着的美元,就是一堆废纸。如果世界各国政府说:“别给我美元,给我欧元”。那么这时候,我们不得不把手中的美元兑换成欧元时,这种“贬值”才真正产生了。阿聘兄认为未来20 年内,世界各国政府都不要美元这种情况会发生吗?50年内呢?

何况我们手中的外汇储备,并非全部美元,按照小道消息,美元占外汇储备的60%,欧元、日元、韩元、新元、卢布的比重逐渐在上升。既然我们手中有欧元、日元、韩元、新元、卢布,当其他贸易国要求我们给欧元、日元、韩元、新元、卢布时,我们直接给就是了,没有必要把那60%的美元兑换成欧元、日元、韩元、新元、卢布。不兑换,贬值就不存在。而事实上,央行也说了,加大其它货币在外汇储备中的比重,美元所占的比例逐渐在下降,就是这个意思。(请注意,美元在外汇储备中占的比例下降,不等于美元资产例如美国国债的总数量不再上升,因为外汇储备总量这个基数一直在增加;假设以前每增加1000亿外汇,用600亿来购买美国资产例如美国国债,那么现在每增加1000亿外汇,用300亿来购买美国国债,700亿用来购买欧元、日元国债等外汇资产,则美元在外汇储备中所占的百分比就在下降)。

我偷换什么了?

2、把外汇储备起来,就是为了将来“使用”,而保值,是为了“将来使用的时候和现在的价值相等”。我从来没有论证过“中国外汇储备不需要保值”,阿聘兄从我的文章中理解出如此精妙的一个观点,实在令人佩服。那么请阿聘兄解释一下,美元贬值这么久了,为什么我们外汇储备能够购买的石油反而更多了?我们储备外汇,其中一个目的,难道不是为了“使用”它来购买石油吗?保值是为了什么?难道不是为了“使用”吗?难道仅仅是为了看着银行里面的那个存款数字在增长从而得到快感吗?

随着美国经济的强势不再,美元相对于全球主要货币的弱势贬值,以及美国全球势力的困境,迫使美国石油资本把石油的期货价格从78美元一桶降低到58-61美元/桶,从而导致我们的美元外汇储备购买石油的能力增加,请阿聘兄以此解释一下“外汇储备保值”和“使用外汇储备”之间的关系。

“中国政府就不能有既能保值又能合理使用中国外汇储备的办法吗?答案显然是能!”这句话当然没有错,方法就是扩大其它贸易用货币在外汇储备中的比重。不过,请问阿聘兄,我违背什么“基本逻辑的手法”了?

至于说道将来我们也许会“拉美国一把”,呵~~,阿聘兄不要不以为然,这种事情中央政府早做过了。当年苏联崩溃解体,俄罗斯民族面临最大灾难的时候,全世界,只有我们中国人没有落井下石!相反,我们不但用自己的外汇储备购买俄国军火,向俄国经济输血,使得俄国有外汇还外债,经济起死回生。而且,我们以壮士断腕的勇气,搁置不平等条约,和俄国划定了数千公里边境线。才有今天中俄互信,上合组织的成立和发展,中俄合力挫败美国全球势力,中国国势越来越强盛,迎来了中华民族光荣的2006年。..... 将来中国“拉美国一把”,未必是幻想。

关于美元贬值导致中国外汇储备贬值问题,我还是再解释清楚一下,这是一个伪命题。

什么是贬值?国内市场,假设10元人民币以前购买10斤米,现在只能购买 1斤米,这是贬值。那么外汇储备中的美元,怎么贬值?在国际市场,如果以前1美元购买10斤米,现在只能购买1斤米,这是贬值。...... 现在美元相对于人民币贬值了,但是人民币和美元的购买市场,一个在国内,一个在国外,这是中华人民共和国宪法规定的国内只能使用人民币,而国际事实是通用美元。那么我们把国内市场和国际市场的购买力混为一谈,又如何解释现在我们的外汇储备能够购买更多的国际石油这个事实?

如果说,欧元升值了,我们用美元购买欧洲的商品,支付欧元时等于亏了。可是我却要问,我们外汇储备中明明有欧元,为什么要把美元兑换成欧元去购买欧洲商品,而不是直接支付欧元?这不是有病吗?除非,我们日常贸易需要支付的欧元超过了我们储备的欧元,这可能吗?欧元面世以来,我们根据中欧贸易的比重,一直在增持欧元外汇,怎么可能出现支付不了欧元的情况?而外汇储备中的美元,依然用在该用美元的地方,买石油除了和伊朗用欧元结算,和沙特,苏丹都是用美元结算,我们的外汇储备怎么就贬值了?贬在什么地方?以前一桶油实际交割50~60多美元(除了中石油中石化的份额油以外),现在实际交割才40~50美元一桶,外汇储备中的美元可以购买更多的国际石油商品,哪里贬值了? 

如果说,国内企业用100万人民币成本,假设卖了20万美元出口销售额,外汇管制,都必须卖给国家,以前20万卖给国家是1:8.22,可以得到164万人民币,现在只能是1:7.8了,只能拿到手156万人民币,亏不亏,企业自己心里清楚得很,关国家外汇储备什么事?而国家央行,却可以用更少的人民币收购企业出口产生的同等美元了,更有利于国内货币供应量的稳定,这外汇储备怎么贬值了?

那种强调外汇储备贬值的人,根本就是在玩帐面游戏:正如买卖股票一样,在股票没有买进或者卖出之前,一切的损失或者盈利都是帐面游戏,根本不是事实亏损或者事实利润。.....玩帐面游戏,最好就到日本去进修,它们计算“钱”,已经“精确”到小数点后一百位----小数点后两位是“分”,小数点后一百位是什么?

中国股市在2006年飞黄腾达,岁末之时更是勇破2600历史高点。恭喜各位在股市中“盈利”的朋友之余,提醒一句:自己把握,见好就收。

外国投机资本,早在数年前就已经悄悄进入中国(中央政府并非不知道),目标就是通过房地产、股市和汇市的三方操作重演广场协议金融风暴,大规模搜刮中国改革开放的财富。此计已被识破,汇市被中国政府坚决顶住,房地产市场被中央政府坚决打压,而股市,中央政府正在“欲擒故纵”:把依然滞留在房地产上的投机外资吸引进入股市,一方面减轻房地产市场的楼价上涨压力,另一方面,利用这些投机外资来吸纳新股,扩充股市总容量,使得中国股市总市值大幅增加从而增加外资操控的难度。这是刀锋上添血的大游戏,非智勇兼备者完不起。

我很早前说过,这些投机外资,想抢劫我们的改革开放财富,凭什么我们就不能抢劫了它:投资失败 外资可以责怪中国政府的政策多变难以把握,但是 投机失败 在商业文明中则是天经地义的!...... 别以为中央政府没有这个胆量。

具体的操作过程,我不细说了,以免被美国投机资本利用,提醒各位炒股的朋友:水深得很。中央政府与巨额投机外资博弈的战场,已经转移到股市,这是你死我活的战斗,双方都将无所不用其极,什么“流氓手段”都有可能突然出现,如此惊涛骇浪之中,非你我小股民能够把握。........ 见好就收,解套就跑。

股市,没有具体 入市 的指标,但是却有 离市 的指标:股市最旺的时候就是物极必反的时候。...... 什么时候是最旺?呵~~,只能自己猜了。

各位自己把握。

Monday, January 01, 2007

冬季夏威夷之12天游记(Maui & Kaua'i)

发信人: gcdzs (沉默是金), 信区: Travel
标 题: 冬季夏威夷之12天游记(Maui & Kaua'i)
发信站: BBS 未名空间站 (Sun Dec 31 13:49:45 2006)

终于等到年底,向老板请了2个星期的假,和LP一起登上了飞往了夏威夷的飞机。因为
版上的同修们基本都大力推荐Maui和Kaua’i,所以我们的安排是在Maui住6个晚上,在
Kaua’i住5个晚上。

第一天:
经过12个多小时的周折,终于抵达Maui上的Kahului机场,以前一直以为夏威夷和加州
是一个时区,到了才发现原来差了2个小时,也就是说和美东时间晚了5个小时,怪不得
所有从夏威夷回美东的飞机都得出发的第二天才能到。

Maui是夏威夷面积第二,人口第三大岛.面积1883平方公里,人口14万,相对于纽约的1214
平方公里,8百2十万人口,绝对算是地广人稀. Kahului是Maui岛上的一个City,算是机场
区,其他我们去过的还有Lahania, Wailuku,Hana等等。当地的城市名和街道名都是夏
威夷当地语言,Hana可能算是最容易读对的。

一到Baggage Claim,顿时热浪迎面而来,机场里来往的人也都一副短打扮,拿了行李,
我们直奔租车点。等了许久,排到Customer Service以后才发现我的租车保险不能保夏
威夷的rental car (租车公司的人告诉我的,不知道真假,有兴趣的XDJM可以查一下),
于是不情愿的买了13刀一天的Liability 保险。出门在外,安全第一嘛。车是Chrysler
Sebring Convertible, 但是比较旧,最不爽的就是Trunk Gate关不上,冲回去找
customer service, 告知掰一下车门上的锁尺就能关上。可惜我的警觉性不高,没有意
识到为啥就夏威夷的车的Trunk关不上,以至于2天后让我们大大郁闷一把。

到旅馆已经天黑,于是我们赶紧找出在Alamo拿的广告,定了明天下午的snorkeling
trip.

第二天:
一个懒觉睡醒以后,时间就快到了中午,毕竟有5个小时的时差嘛,呵呵。赶紧直奔Ma
’alaea港口,这个港口离机场区很近,开车也就15分钟,不过短短的15分钟还是足于
让我们惊叹于Maui的美景,一边的蔚蓝辽阔的太平洋,一边是高耸入云的群山峻岭,而
且Hawaii这里人人开车都很疯,我超速了20Mile才能和大家保持同速。

1点不到,我们就到了港口,结果被告知因为风大所以推迟到第二天,还说12点的时候
天气还可以的。没办法,反正还没有吃饭,于是挑了一个靠港口的饭店“Sea Escape”
吃中饭,价格不贵,一个Entrée $15左右,但是Seaside View和菜的味道和卖相绝对
没得说,强烈推荐。

一出饭店,就是Maui Ocean Center,这个景点是免费的。刚开始,我们想便宜无好货
,估计就几条热带鱼和几缸珊瑚糊弄一下没去过Sea World的人。结果发现这个Ocean
Center麻雀虽小,五脏俱全,里面从热带鱼,鲨鱼,车盘鱼,珊瑚,海龟,Hammer
Head Shark等一应俱全,甚至还有一个上百米长的水下通道,我们还赶上了潜水员在大
鱼缸里的表演。我们最喜欢的就是水下走道的尽头,有一个展示水母的小黑屋,透明的
水母在打上蓝光的水缸里优雅的飘着,给人一种很宁静放松地感觉。作为免费的景点,
这里绝对不能错过。

回到家,再看了一下广告,发现上午的snorkeling更划算,一个人只要$50,赶快取消
了原来定的下午的项目。

第三天:
6点就早早起来,不到7点钟,天还没亮就冲到港口,等了20多分钟,终于有人来带我们
上船,船比较旧,但是挺大的。这里要注意一点,有的Agent要收$80以上一个人,还说
是因为船好,千万别上当,其实都一个档次的船和类似的装备。

第一站是Molokini,就是一个半环形的小岛,也是Maui上最热门的地方,水面上看不出
来什么,一下水立刻就震惊了,身边无数的热带鱼来回穿梭,五颜六色,煞是好看。导
游说了不要抓鱼,其实这等于废话,我试了几次,根本不可能追上鱼,比我灵活多了,
毕竟它们一直在水里混的。游了45分钟左右,全体游客被叫上船,直奔下一站:Turtle
Town.

顾名思义,Turtle Town就是Turtle聚居区,这里是一片珊瑚礁,刚下水,有些失望,
水要比Molokini那一片要混,而且鱼也少多了,不过很快失望就被冲淡了。视线里出现
了一只硕大而可爱的海龟,海龟动作很缓慢,我们都能追上,但是海龟的游泳姿势很优
美,像在水里飞翔一般。我们算是过足了瘾,近距离看到了8只海龟。

中午12点回到港口,本来玩得很开心,但是不爽的事情发生了,我们在Trunk里面怎么
也找不到自带的GPS,开始以为放在车里别的地方了,但是很快觉得不对劲,Trunk里面
的一些食品和纪念品都不见了,终于意识到我们的车被偷了.

赶快打911报警,警察20分钟后才到,根本不当回事,两个警察还嘻嘻哈哈的,给我们写了
一个police report,就打发我们走人. 没办法,毕竟我们还有10天要在夏威夷呆,只能到
Sears买了一个全价的GPS. 各位同修一定要注意, Ma’alaea港口是盗窃高发区,尤其是
你参加的是早上的snorkeling trip. 因为这种Trip都在早上7点左右出发,而且一直到
中午才能回来, 7点左右才刚天亮, 港口上根本没有游客和工作人员, 小偷可以慢慢的
一个个Trunk撬过来,事实上我边上也有别的参加早上项目的游客车被撬. 所以一定一定
要把值钱物品随身带上船.

晚上,为了安抚我们受伤的心理,决定到法国餐厅就餐. 饭店名叫Chez Paul,在Maui岛上
颇有名气,我们在Entertainment Book上找的$38 off coupon. 饭店挺难找,处于
Kahului和Lahania之间的高速公路边上, GPS都没有定位到这个地址。不过就餐环境和
饭菜质量确实很不错, 我们还试了$35一份的鹅肝,很嫩,入口及化,微苦.说实话,虽然好
吃,但是我们都觉得不值这个价, 虽然Waiter说”It’s the best thing in the world
”.喜欢吃法国餐或者喜欢浪漫环境的可以尝试一下.

第四天:
因为晚上已经预订了Luau的座位看Hula Show,所以白天的活动排的比较少,开车在Maui
的西北部开车兜了会风,下午直奔I’ao Valley. I’ao Valley距离机场开车距离大约
20分钟,一进山谷就感觉到一阵凉风习习,酷暑和暴晒被我们丢在了脑后。中间我们去
了一个Hawaii Nature Center,就是一个小房间放了一些文献和照片,还有一些动植物
的玻璃切片,除非你对Hawaii当地的动植物特别感兴趣,不然不推荐。不过边上有一个
Miniature World Culture Park, 是BBQ的好地方。

过了Hawaii Nature Center,开车1 mile左右就到了I’ao Valley State Park。这个峡
谷由于有溪流和足够的土壤,所以在西方人来以前,是Maui农业最发达和人口最密集的
地方。也是夏威夷的“长平之战”(Battle of Kepaniwai)的地点。参战一方的军队
属于第一个统一夏威夷的王,双方兵力总和过万,战争是在山谷中进行,而妇女和儿童
则在两边的山上为本土的军队(被征服方)呐喊助威,也目睹了一场大屠杀。双方都伤
亡惨重,士兵的尸体令溪水断流,战争的决定性因素是进攻方从西方买的大炮。

而到了I’ao Valley,就一定不能错过I’ao Needle,过了木桥,走100米左右的山路就
能到一个亭子,正对着I’ao Needle. 我本人强烈推荐I’ao Valley, 和夏威夷的阳光
海滩有不一般的情调。

晚上冲到Lahania,也是现在Maui岛上最繁华的地方,过去夏威夷王国在Maui上设的首都
,看著名的夏威夷Hula Show,也就是草裙舞了。

我们买了$59.95的前排的票,后来看来完全是浪费,前排和后排离的不远,而且排位置
是先来先得,我们到的比较晚,所以被排到舞台最边上的桌子,最后拿饭的时候也不是
前排的先拿,所以最好买一般的票,早点去排队。

Hula Show很不错,富有夏威夷热带风情,最后的压轴戏是Fire Dance,真正的表演时
间大概一个小时,如果没有看过,还是很值得推荐。

第五天:
今天,我们的计划是遍历Maui上很出名的Heavenly Road to Hana,旅游指南上面说单
程52 Miles要开3个多小时,刚从Kahului出来,在Hana Highway (Route 36)往东开的
时候,一马平川,觉得这个路况再慢1个小时就到了,开过Paia,路过Hookipa Beach,
也是Maui上面著名的冲浪胜地,此处风景绝美,可以远眺Maui西部的群山,也可以欣赏
阵阵的海浪冲击着海边的峭壁。

过了海滩,路过Twin Falls,买了$5的椰子(味道很不错),和$2四小片的甘蔗(量太
少,千万别买),因为LD穿了高跟凉鞋,不能Hike, 略作停留就上路。

开了没有多久,立刻峰回路转,宽阔笔直的路立刻变成了盘肠小道,这才是真正的
Heavenly Road to Hana.这段山路是我见过最曲折的路,短短不到40 Miles的山路上有
600个急转弯和50多个单向公路桥。这也是我见过最美丽的山路,一边是茂密的植被和
辽阔蔚蓝的太平洋,一边是陡峭的山壁。Road to Hana最重要不是目的地Hana,因为
Hana Beach其实很一般,相对于Hookipa Beach来说。真正美丽的是沿途的风景,其实
人生 (Road to Heaven)不也一样吗?

路上经过了Garden of Eden,一个植物园,门票一人10元,风景很不错,也可以远远看
到美丽的Puonokamoa瀑布,园里还有一个百鸟园,有很多鸭子,鹅等飞禽,也有3只孔雀
,在你身边走来走去,拍照的好机会。还能在园内看到一块上过侏罗纪公园电影的海边
巨石,有时间的话值得一游。

沿途还有很多Trail可以看瀑布,由于时间不够和装备不足,很遗憾的放弃了,去过的
XDJM可以描述一下情况。

注意事项是要计划好时间,光开车来回就需要6个小时左右,晚上开这种山路绝对是不
推荐的。

晚上吃的饭店是一家日本店,叫做Kobe’s,在Lahania,味道很不错,而且有Coupon可以
用,强烈推荐。

第六天:
早上又要早起,因为要赶8点钟的Helicopter Tour。匆忙杀到Heliport(得先上Hana
Highway,再转Route 37)。开直升飞机的是一个华裔,不过不会说中文,我们定的是周
游全岛的项目,风景确实没话说,鸟瞰Maui和在地面上看的效果完全不同,尤其是我们
可以开到I’ao Valley的背后,看千眼泉,看风车,也可以在空中看我们昨天刚开过的
Road to Hana. 这里我有一个疑问,既然风车又便宜又环保,而且Maui 10%的供电是靠
风车发电,为什么不多修几个风车,这样就完全自给自足了呢?

最后有点不爽的是广告里说的行程有60-65分钟,结果全程最多55分钟,而且所谓的环
岛,也没有开到Hana,也就是Maui的最东头。自己还犯了一个错误,就是给小费太多,
其实这种昂贵的服务,完全没有必要给15%,更何况有点虚假广告之嫌。

下了直升飞机,时间还早,现在Maui岛上除了Haleakala山以外,有意思的景点几乎都
到了。上山之前,先到Ulupalakua的Tedeschi Winery (现在改名叫Maui Winery)看看
,喜欢喝红酒的人,应该来这里一下,红酒和香槟口感不错,而且还有介绍酿酒的免费
Guided Tour.

品完红酒,加满油缸(从山底到山顶来回100 Miles左右,沿途没有加油站),走上了
上山的道路。山路仍然是曲折的,让我想起了上落基山脉的路。开了一段,到了
Haleakala Crater Lookout的点,走了一小段Trail就能俯瞰整个盆地,我们试了很久
,没法看到金顶现象,一个小遗憾。不过山上的云海是一直都能看见的,这可能也是因
为Maui是海岛,云层离地特别的近,最高的山峰从海边看来永远是被云遮盖。

再往上山走,植被逐渐稀疏起来,气温也随之下降,让我们惊讶的是,Maui这个海岛上
的最高峰居然海拔能有3050米(10,000ft)以上。到了山顶以后,最大的问题就是:
我们都穿着山下该穿的衣服,短袖短裤,而山顶的气温在摄氏10度以下,而且风力很强
。在山顶的一个亭子里抖抖索索的看完了半个日落(被气象站完全遮住太阳,只能看到
云的颜色的变换),我们赶紧开车下山。

不论是看日出还是日落的同修,需要注意的是一定要穿上棉袄或者皮夹克,在山顶上绝
对不会嫌多。

第七天:
下午就要离开Maui去Kaua’i了,于是随便开车在附近的小镇Paia逛了一下,就到机场
换车赶飞机了。

从Maui到Kaua’i很近,一个小时左右就到了。Kaua’i这个词本身没有含义,但是发音
极像日语中的可爱,可能这也是很多人叫这个岛“可爱岛“的原因吧。Kaua’i面积算
是夏威夷群岛中第四大岛,有1430平方公里,人口大约有6万人,比Maui的人口密度还
要低。Kaua’i在某个杂志的评选里面被评为世界第二美丽岛,第一是Bali岛。

一到Kaua’i, 感觉山的颜色明显比Maui要丰富,五颜六色,这也是Kaua’i被称作
Garden Island的原因。原因很简单,因为这里的降水量远远高于Maui, 岛上有Wettest
Point in the world.比较有意思的是Kaua’i全岛到处都是野生的山鸡,不知道这是
不是因为当地人的风俗。

到旅馆的时候已经比较晚了,于是我们就在附近的海滩上散了会步就回房间休息了。

第八天:
到附近的Costco买完东西,吃过中饭,我们就往Kaua’i的南边开,开出机场区Lihue不
久,就到了著名的Tree Tunnel, 其实就是公路的两边长满了整齐的大树,而树枝完全
把公路遮盖起来,远远看来,就如同一个树木营造的隧道一般。

开过Tree Tunnel,没有多久就到了我们的目的地:Poipu Beach. 我们在这里一直等到
了太阳下山,第一次看到了海边日落,也看到了睡觉的海狮,憨憨的特别可爱。总体而
言还是值得一游。

第九天:
前一天打过电话约好了冲浪课,地点是在Hanalei Bay,这个海滩号称世界十大海滩之
一。到了以后一看,确实名不虚传,银沙滩边上是陡峭的群山(也是Na Pali Coast的
起始点),而下水以后才发现水底很平,一直往外走了1公里,谁也没有过胸,用冲浪
教练的原话来说:这就是一个巨大的游泳池。

冲浪教练是一个20岁左右的小帅哥,长相酷似曼联的C. Ronaldo,身材没有看到,被
Wet Suit包的严严实实,呵呵。

上来先花了5分钟教了一下基本动作,然后就可以下水了。基本上就是我们趴在冲浪板
上,教练顺着水势用力的推我们的冲浪板加快初速度。我和我LD都是第三次就站起来了
,另外两个美国小妹妹比我们稍微慢一些.冲浪还是很过瘾的,没有尝试过的人一定要
去玩玩。不爽的就是大腿和膝盖被冲浪板磨破,很痛,推荐穿一条能下水的游泳长裤,
这样就不会担心皮肤被磨破。

课2个小时就结束了,不过店主人很好,免费借给我们两个冲浪板,我们就自己玩了起
来。我们水平还不够,玩了很久都没法站起来,后来发现原来是初速度不够,于是只有
我把板放上岸,来推我家LD,哎,谁让她是领导呢.

回去的路上经过Hanalei River上的Taro Fields,也是Bird Refuge, 风景很美,还看到
有人在田里干活,路过的时候一定要停下来欣赏一下。

第十天:
因为这里的Snorkeling奇贵,比Maui要贵一倍以上,我们能找到最便宜的也要$110/
Person, 为了省钱,去听了Timeshare的课,结果被Sales说动了,掏钱买了1个星期的
Share,而且还错过了下午定好的Wailua River Kayaking,只好退而求其次,定了
Wailua River Boat Trip. 一个人要15刀,说实话,很没有意思,同学们如果要玩
Wailua River,一定要自己Kayak,这个Boat Trip还是不要浪费时间和金钱了。

下船以后,离天黑还有挺长时间,于是开车到了就近的两个瀑布。瀑布都不大,对于我
们这种去过好几次Niagra Falls的人,确实没法让我们激动。因为第二天一大早还要坐
船出海,我们就早早回旅馆休息了。

晚上去的饭店是在Kaua’i Coast Resort里自带的饭店,价格不贵,一个Entrée只要$
25左右,但是色香味俱全,而且坐在饭店里面就能看海,这家店是我们公认在Hawaii吃
过性价比最高的饭店,比Chez Paul那家法国店要强。

第十一天:
按照Agent说的时间,我们不到8点就到了Allen Small Boat Port,结果等登记,9点钟
才出发。这艘船比我们在Maui坐过的要新,个头要小,开起来才发现船速要快很多。沿
途看到了3家Humpback Whales,还有两群Spinner Dolphin.发现海豚都爱扎堆,每群海
豚都有上百支之多,而且特别爱和船比赛游泳,让我们过足了看野生海洋动物的瘾。

船出港一个小时以后,就到了Kaua’i岛上最漂亮的地方: Na Pali Coast. Na Pali
Cost的特色就是长达26公里的海岸线上耸立着延绵的高山,最高点有1200米,从船上看
去,巍巍壮观,而且阳光从峡谷中透出,颇有神圣的感觉。著名的电影侏罗纪公园有些
镜头就是在这里拍摄的。这里的浪也是出奇的大,虽然没有大风,但是海浪经常有3米
以上,打到岸边的岩石上,往往激起10米以上的浪花。我们的船也在大浪里上下颠簸,
感觉如同主题公园里面的海盗船,不同的就是一开就是几个小时不停。唯一的遗憾就是
因为浪太大,没法开到著名的Open Ceiling Cave里面去Snorkel和Scuba Dive了。

从Na Pali Coast回来,开了不知道有多久(我们都睡着了),到了一个暗礁边上,开
始训练下水Dive。可能因为这天是Christmas Eve,船上工作人员赶着回家,本来说好的
一组人45分钟Dive,结果我们不到25分钟就上来了。

几个注意事项:
1. 下水前要听清楚教练对器材的操作的讲解,因为要是没有听懂的话,必须要浮上
水面再教你一遍,很浪费时间。
2. 教练会先做一遍,然后让你做同样的动作,我就是开始没听清楚,教练动作还没
有完就开始做,结果又得浮上来讲解。
3. 在下潜的时候不要做动作就沉下去了,我家LP因为紧张,所以下意识的打蹼,结
果死活沉不下去,还得我们又全体浮上水,因为教练绝对不会把游客自己留在水下。
4. 有中耳炎等耳朵疾病的就不用浪费$35了,同船的一个女孩因为耳朵不行,下潜
10 ft就自动放弃上船改Snorkel了。
5. 如果晕船严重的话,这$35也不用花了,另外一个黑大叔因为晕船的厉害,结果
一下水就连说吃不消,在水底5分钟就给拉上来了。
6. 去之前一定要问好实际潜水时间,人多的时候他们容易偷工减料缩短潜水时间。
7. 船快浪大,很容易晕船,做好心理准备,很多人在船上吐的稀里哗啦的。

晚上还是在昨天去过的饭店吃饭,同样让我们赞不绝口。让我比较纳闷的是,当地的服
务业从业人员绝大部分是白人和亚裔(菲律宾人很多),很少在岛上看到当地的土人后
代,和我没去以前的想象有很大的出入。

第十二天:
今天是圣诞节,也是我们在夏威夷呆的最后一天,早上没有走远,就在靠酒店的海滩上
玩了一个上午,最后一次享受了宜人的热带阳光和海岸。

我们这次排的行程很宽松,毕竟是度假吗,不想把自己弄得太累,但是如果有更多时间
的话,我很想去走一下Kaua’i上面单程11-mile的Kalalau Trail,近距离的观赏Na
Pali Coast的美景;泛舟Wailua River之上,和在Maui岛上的Haleakala Summit看日出
。希望以后去的XDJM们能玩得更好!:-).