2006年12月21日

12/18 上海递Clear mail, 下午回北京。

12/20 issued in 上海。

12/21 EMS 邮寄到北京。

记下这即将影响我未来生活的重要一页, 未来之路在那路?

2006年11月16日

        能不能走到一起呢?这两天发生的事情让我感觉有些惶恐,他虽然很努力也很卖力,可我们之间总是有什么不和谐的东西存在,是以前没有发现还是一直就能感觉到而因为彼此的爱而忽略了?

        我想起了两件事,一件是在LG里,因为自尊心受了极大的伤害,我决定自己做晚上的火车走(被他劝回,他承认了自己的问题);另一件是在一周后的街道上,第二天要去面对很重要的事情,他惹我哭了,虽然也被他哄好,但后来想想总是有些不舒服的;想想也真有意思,今天本来也要考试的(虽然最后取消了),他在昨晚的言语还是让我很难过。当面对重要的事情的时候,我不再想让他知道,虽然我是希望与他分享其中的欢乐,担心,兴奋,喜悦和痛苦,但他好象很多时候不是特别的乐意。他以为我是依赖他,这也是我们之间的距离,因为他的环境决定了他不能洞察和了解我的感受,我们相爱也许不能相守啊。不想再去争吵什么,没什么意思,也许本来就是有缘没分的。

       电话打了两次都询问了,该关心的该说的,想想自己也不后悔什么,人和人相处不能太勉强了!

2006年11月13日

        老公,今天你又匆匆的离开我了!

        前天的这个时候你还在路上赶,今天也是同样的情况,可目的地却不同,因为今天你要离开我。前天的我是多么的高兴啊,因为还有一个小时你就到家了,心情是那么的舒畅,虽然我知道你周一也就是今天就要走,可是我还是觉得接下来我们在一起的40个小时会无比的高兴。

       可是今天早上天还没亮,车子就带着你走了,看到你透过车窗向我们摆手,我知道你也是依依不舍,可是有什么办法呀,你有你的事情要做啊!送你回来,我太困以至于感觉不到你已经离开我了,闻着枕头上残留的你的淡淡的味道,我知道枕边人已经再次离开我了。起床后,我心里空空的,真的很空,做些无聊的事情,但都提不起精神。中午吃饭了,一看到饭桌,我再也抑制不住自己压抑的心情,偷偷跑回自己的房间哭了。因为昨天你还是和我坐在一起吃饭的,你还用脚踩我的板凳的,今天物是人非,我实在是吃不下。

      我盼着时间的飞逝,把一些需要做的事情提前,好尽快地与你团聚,我希望和你在一起的分分秒秒会变成小时,变成天!我喜欢在你目前撒娇,喜欢听你嗔怪我的话语,哪怕就是你暂时的烦我,我都不介意。可是到现在这一刻我却什么都感觉不到了,我抓不到你了,我恨不得飞去车站等你,可我知道那是多么的不现实和不能够啊!

        你这次回来,腿上贴着胶布,问你才知道你为了把工作做得快速和完美,你长时间的久坐,以至于腿不能打弯了,整整一周你向我提都没提过,我知道你是怕我担心,可是我有多心疼你知道吗?不知道我们的结合对你是好是坏,真希望不是后者。

       希望我们这所有的暂时的分开都是为了以后长久的在一起。

2006年11月01日

 是否要回国发展? 凤凰卫视美洲台李红采访结盟人力资源公司总经理马莉莉

2005年11月28日,结盟人力资源公司(JM ENTERPRISES www.JMEP.com )总经理马莉莉接受了凤凰卫视美洲台“他乡话题”主持人李红小姐的采访。“他乡话题”栏目是邀请专家或业界优秀人士讨论海外华人的生活,工作,学习等热门话题的一个节目。李红就现在海外华人关心的一个话题,“是否要回国发展?”访问了北美规模最大的一家专门为中国企业招纳海外人才的华人猎头公司总经理马莉莉。

马莉莉致力于中美之间的招聘多年,对中美两地的人力市场非常熟悉,特别是对于国内对海归的需求状况有很深的了解。

在问到什么样的人适合回国发展时,马莉莉表示最好是在美国/海外积累了5年以上的工作经验的(博士除外),在某个领域表现非常出色,或可称作为专家的人。比如现在软件行业工程师,国内比比皆是,如果在海外只有一两年工作经验,是无法和国内人竞争,或是无法拿到非常优厚的(海归)待遇。只有在海外(最好是在大公司里)积累更多的才能,比如项目领导,管理方面的经验,这样才能拿到很好的Offer。马莉莉说:如果想要回国拿高工资,那就必须先在海外有一番作为。你在海外的成就越高,回到中国工作你所得的回报就越高。这是成正比的。

马莉莉在分析海归年薪上的例子这说明了以上的观点。她指出海归在IT行业的年薪Offer基本如下:

Engineer level(5年以下)回国的年薪是在美国的1/3甚至更少

Management level回国年薪是在美国的1/2左右

Senior Management或director level 回国的年薪基本是美国年薪1/2到持平的水平

Executive level(chief officer,VP,CEO) 一般是拿外派工资或是拿更现在美国的年薪相差不多的年薪

在访谈中她谈到:回国发展不能凭一时的头脑发热,首先要得到家人的支持,这和攘外要先安内的道理是一样的。其次要看清自己的在国内的发展空间,注意自己的定位,不能定得太高。定位时一定要注意选择自己的强项作为在中国的发展目标。另外,面试是不要表现出高人一等的傲慢姿态,等等。

 在这个版面上看的时间挺长的,发现各位都是在美国呆久了,完全按照美国的思考方式来套中国,那自然是国内年薪和美国比太低了。

我在美国时也和各位想法差不多,那时候在美国一年下来税前也有8万多(我在的地方在美国算中等偏上的消费水平,房租one bed room 一个月$800)。回国的offer给了三十几万,算了半天才下决心。等到了国内发现完全不是那么回事。

一来国内的税低,年收入50万以下真正交的税在22%左右。此外还有住房公积金,一般是10%,也就是说你工资的10%放在公积金里,剩下的90%才交税,公司另外在match 10%的工资,这比美国的401k可强多了。通常年末还有10%的奖金,和美国同样的stock option。所以算下来实际拿到手里的税后也是三十几万。而在加州这种地方一年的联邦税和州税加起来怎么也在30%以上,大打折扣。当然在国内时间久了,你还会有做个生意等其他赚钱的法子。

此外国内的外企里有各种补助,比如手机费报销(我现在的公司一个月最多1000元,足够了),午饭(500元)等等。国内实实在在做 research的很少,大多都要和客户打交道,这样出去吃饭打车的开销都可以报销。我现在也就是租个房子花钱,2000每月在北京不比美国的 apartment差,上网水电杂费一月四百,其余还不是衣服鞋子追追女孩。兄弟我在美国作过几年IT咨询的,美国东南西北都跑过,要说看到的中国人个个都挺省的,大多数情况下自己做饭,也没见租多好的房子,要攒个四五年才出个首付,连看个电影都很少。美国值得一提的地方就是环境,还有城郊的一个 single house。在国内可以说是五光十色.

我觉得回不回去看个人性格和背景,你要是做research或编程序的,性格内向,在国内只会吃亏,不会有什么太大发展。要是你性格外向,想做市场或者销售,开公司,那赶快收拾收拾回家了吧,熬着实在难受。

兄弟我说的可能有点不清楚,我在美国工作了几年后又念了个MBA才回去的,所以你说我是学生刚回去也可以。我在美国是做IT咨询的,其实就是系统集成和架构设计,再管管和印度方面的外包服务,技术含量不如编程序的高,不过和各种各样的客户打交道,挺长见识的。在美国我就是一普通作技术的,工资8万在IT行业里不算高,相信在美国做过的都清楚,就是由两三年工作经验人的平均数,真没什么好吹的,只是供大家参考。至于税,我从来都是用TurboTax之类的软件,不大会用exemption, 加上加州的州税高,确实就是30%那个数。当然我也交401K(我那会好像是11000每年),不过剩下的还是有30%交给Uncle Sam了。俺在美国就买过本公司的股票,因为有15% discount, 不过还是赔了点,买股票赚钱真的不容易。我现在从TOP 20 B-School出来,也不认为以个人的精力和掌握的信息炒股能真赚到大钱,当然管个基金除外。

至于在国内的工资水平,有过几年美国经验的,只要不是人太死板纯搞技术,三十几万在IT行业的外企真不算什么高薪。即使是local的人拿到这个数的也不再少数。国内靠跳槽涨工资不难,按我现在的背景,在公司里再干两年跳一次,那个五六十万还是有信心的。另外,国内的工资水平涨得很快,和外派的差距现在是越来越少了。

回国还是留在国外还是看个人

其实我的意思并不是说回国就一定比国外怎么样。国外确实有比国内好的地方,但也有不如国内的地方。也有人在国外混得不错,我也承认。就我个人而言,国内生活比较适合我。一来经济上我虽然绝对数字比国外低,但我在国外买东西吃饭还要考虑一下,在国内我基本不怎么考虑。有人非要说国外净收入高,我可感觉不到。二来国内文化上适应,朋友也多。国外中国人的娱乐就那么些,交往圈子也窄。国外的生活对我而言比较枯燥,当然有些中国人能完全融入主流社会,不过我孤陋寡闻,还真没见到上完国内大学出来的大陆人真能做的到的。第三呢,我最看重的是事业上的发展,以我的背景,人际网和工作经验,在国内往上走的几率肯定要比国外大。国外的公司不是人际关系不复杂,而是人家根本就没打算让你参与,你没到那个圈子里,只是一个技术工具而已。不少中国人充其量做个team manager 而已。我觉得这里有些朋友动不动就拿国内的平均水平比,其实这是一个误区,对自己的定位错了。在美国名牌大学拿学位,几年工作经验,只要人灵活一点,在国内怎么也是top10%里的。至于吃饭报销,手机,打车之类的让各位见笑了,兄弟我还是一穷人。

关于我什么回国再说两句

真的让各位见笑了。兄弟我真的就是一普通的俗人,回国不是因为什么爱国情结,实实在在是因为在美国混不上去才回国的。一来觉得在中国有机会发展,顺带着发点财。我现在自己搞了几个项目,虽然还没见到钱,但想来也是迟早的事。在美国我从来没这个机会。二来想着生活过的舒服一点,和朋友们在一起吃喝玩乐还有人买单我就是挺高兴的,你要是说我没啥品味,我承认。前面有位老兄说纳税是天经地义的,这说得没错。不过我就挣这么多钱,不管是给中国的贪官污吏还是美国的Uncle Same,我都是想能少交点就少交点,当然我也不会故意去偷税漏税。在美国那么多年,我也没见到谁以多交税为荣的。当然物以类聚,我周围也都是俗人。有人说我给Top 20 school 的MBA丢脸了。兄弟我念书就是为了自己的事业发展,没想着给谁挣脸,所以你要不愿意与我为伍,那也随你。Top 20 School 的MBA里我算干的中等的,比我好的差的都多了去了,其实做事完全看人,不是念个书拿个学位就能怎么样的。这里这么多人都是精英见多识广,要么是在美国做到VP年薪至少二三十万,要么是思想高尚看不起吃喝玩乐,要是觉得我给中国人丢脸,那我也在这说一句抱歉。

我也在中西部住过。生活确实平静但很boring.我认识的朋友里,特别是大城市过来的都很不happy.当然,这只是我个人的感觉和经历。我喜欢热闹,向往挑战的生活,在那种地方我真得很不适应。

在美国每年Top 20 BSchool的MBA有一万多,实际上只有很少一部分能去IBank或Management Consulting,大多数MBA最后也就是financial analyst, marketing analyst,product manager 之类的工作,更不用说中国学生在语言,文化和networking方面的劣势了。你可能听过不少top MBA的传闻,但不幸的是,那只是传闻而已。但在中国,不仅仅是由于TOP 20 MBA在中国很少,美国的MBA学历和经历确实能对你的职业道路帮助很大,再加上文化上的适应和networking,很多人几年之内就升上去了。我个人的经历是在国内的朋友比国外过的好,职业发展好,当然,你所看到的可能不一样。

至于报销,手机,Taxi之类的,我说过我不是富人,你也可以认为我在美国是低收入。在美国,我不可能像现在这样每天在饭馆里消费(如果相同的质量的话,差不多$30/meal), 我也不可能每天taxi和随便用手机聊天. 当然,美国人人都自己开车上班。但在中国, I drive for fun, not for work.我现在工作开展得很好,生活也很开心,当然,这里有不少很有钱的朋友看不起我这样的生活,不过对我来说也没什么。我只是说说个人感觉罢了。

关于海归再说两句看了前面几个人的回答,不妨再说两句。国内的工作没大家想像得那么累。有些人以为在国内拿个几十万就得一天十几个小时不休息,其实没有的事。和在美国一样,不一定拿钱越多就越辛苦,一个月几千块钱的人有时候比一个月几万块钱的还累。只是拿钱越多,责任越大,可供调用的资源越多而已。海归在国内平均收入很高的,和国内平均水平比较基本没有任何意义。中国大部分人口都在农村,没受过高等教育,而海归清一色的至少大学本科以上,更多的还是硕士博士。

海归收入高的原因也很简单,中国现在每年进出口贸易几千亿,每年FDI几百亿,更有大量跨国公司直接把工厂销售直接设在中国本地,这么庞大的资本都需要通晓中国文化市场和西方公司管理的人才管理,而中国这类人才的数目和在中国经济中的比重实在是太小了,尤其是高级管理人才和市场人才。这也是为什么很多外国公司的高管是外籍和港台人士的原因,实实在在是找不到合适的人。这几年海归在公司里升得很快,是因为本身比外籍和港台人相比有优势,一旦经验到了,自然就上去了。说到回国发展,各人有各人的看法。我的个人感觉是原来在国内干得还算可以的,比如年薪十几万以上的,出来后都叫苦,回去的比例也很大。而在国内国企,本地小公司干的都不愿意回去,因为对国内的负面印象深。前面有位加拿大的兄弟说IBM不好进,其实国内的IT外企就是一个相对封闭的圈子,一旦进去了,跳来跳去还是很容易的。

没想到大家对我的$80k 年收入那么感兴趣

那是差不多00年的收入,是MBA前的。如果除去通货膨胀的因素话,相当于现在的9万到十万吧。我所在的地方房价中挡当时在五十万左右,相当于我工资的六倍到七倍。要是在上海,按同样比例,我的国内收入在上海可以买到180万到200万的房子(这还不算住房补贴的因素),从位置到面积都算不错了。至于吃穿住行,在中国的花费我现在比美国小多了。至于所得税,有人说30% 不对,可是对于单身的算上州税,联邦税,social security and medicare, 就是那么多。美国有美国的好处,中国有中国的好处。我说这些,并不是说每个人选择回国都是对的,只是个人感受。

另外,国内的年薪二十万,特别是在外企工作的,比你想象的要舒服得多,可不是你说得像狗一样。你是拿美国的模式套。美国的工资发给你多少就是多少,所有的花费都从你的工资里出,所以总也不够花。不像国内那样有各种各样的补贴报销。一般国内的人说年薪二十万,是不包括奖金和住房补贴,和交通等津贴的。二十万年薪的税不高,算上各种各样的社会保险,也不到20%。

就国内的外企而言,级别越高,绝对数目的工资和美国同级别的差别就越少。到VP一级可以说已经没有什么区别了,越到高层购买力的优势在中国越明显。另外随着时代的发展,在中国的business 对于外国公司已经是非常重要了,不仅增长快,而且绝对数字和别的国家比起来也不差。举个例子,比如Nokia, 中国是全球仅次于美国的第二大市场,或者波音,中国的采购使这几年最大的亮点。现在大量跨国公司的采购都在中国,从服装,玩具,到家用电器甚至一些高科技产品,像Walmart一年的采购有上百亿,这么多钱花在了中国,创造的商机可以想象有多大。
从个人发展讲,美国能做到director 以上级别的中国人(尤其是那些在大陆念大学以后出来的)占的百分比少之又少,到VP那一级更是屈指可数,在国内机会可就多了,自己创业也容易。

我说过回国有个定位问题,有些人总拿中国的平均水平说事,其实根本不make sense.受过高等教育,精通外语,又有专业经验的人,在中国能有多少。可以说,只要你不是在国外混学位,你回来已经在中国前10%里面了。前面有人说上海的人均收入是2万,那可是包括所有人的统计。海归的平均收入绝对要高得多。回来抱怨多的海归有两种,一种是到英国澳洲混学位,本身没什么工作经验的,另外一种是搞纯科学,离市场需求比较远的。

关于收入,再多说两句

我前面说的是北京上海的收入,就现在国内的发展状况,除非你有什么特别的原因,这两个地方是最适合海归发展的。你要非跑到偏远山区发展只能怨你自己。我个人更看好上海及其周边地区,经济发展快,市场也比较规范。国内的绝对收入不能和国外直接比,比如你挣个二十万一年,在上海生活已经可以很舒服了,房子也能买。但两万多年薪的工作在纽约(和美国中小城市比没有意义,完全不同的生活)几乎就活不下去了,房子更是想都不敢想。上海的房子虽然贵,也绝没到纽约LA 那么离谱。国内的开销,无非是物质和人工服务,人工绝对是国内便宜,物质上,吃住都是国内便宜,穿上,国内的名牌稍贵一些,但你也不必每天买衣服吧。行上两边差不多。我个人的感觉是考虑到税,物价因素,在中国只要能拿到美国三分之一的税前工资就绝对值得回去。其实回不回去还是对个人的定位,你要把自己定位成刚毕业的学生或者国营企业的工人,那还是留在国外吧,对你来将会来真的不合适。

谈谈我所知道的国内收入

我上次发的关于国内国外生活比较的帖子朋友们都很感兴趣,这次我来说说我所接触的国内收入状况,相信大家也很关心。我先声明我不是什么所谓的精英,对所谓的远大理想崇高责任不感兴趣。我就想自己过得快活,做自己想做的事,顺便发点财,前面有人指责我给中国人丢脸,兄弟我不明白哪里招惹他们了,也不在乎。转入正题。国内的收入可以说是千差万别,我接触的多的是外企。从大的方面来说,外企里美企收入最高,其次是欧洲,在其次是日企,然后是咱们的港澳台胞开的公司。就行业而言,收入最高的当然是投行,管理咨询(就那么几家,大家都知道,我就不多废话了),其次是IT通讯,然后是机械医药快速消费品等传统行业。就拿我所熟悉的IT通讯行业来说(现在IT业的收入与其他行业越拉越近,其他行业的也可以参考),一般有个4,5年以上的技术人员年收入在十万到二十万之间,也有很出色的经验强的能到四五十万,相对而言,做售前的比售后的挣的多,面对客户的比纯研发的挣的多,做销售市场的比做技术的收入高。国内的外企里一般把管理人员分成一线,二线,三线等。一线的就是最低级的manager,一般在二十万以上,最多能到四十万的,二线就是所谓的总监,一般三十万到七八十万,好的能到一百万以上,到了三线就差不多是VP一级,看公司,从一百万到三四百万都有可能。就销售而言,工资定在三十万到七八十万不等,但只有完成销售额才能拿全工资,如果完不成也就拿个百分之六七十,如果超额的话有commission,有时能到工资的几倍,所以做销售很刺激,压力很大。国内的外企里现在有很多人有国外身份,加拿大澳洲的居多,美国的也不少,有没有国外身份收入差别基本没有,都是按职位给钱,只不过医疗社会保险走国籍所在地的要求。现在外企里做高层的(VP或以上)大部分还是港台,美国人,所以给人带来一种有外国身份就能拿高薪的错觉。现在的趋势是香港人做高层的越来越少,海外留学回来的有后来居上的趋势。留学回来的,如果国内国外都有经验是最占优势的,回来起码有个一线manager做,其次是有国外学位经验的,在国内作几年很快就能上来。千万不要什么经验都没有就回来,那可能还不如国内毕业的大学生呢。国内现在对海龟是怎么回事清楚着呢,要靠出钱在外面混两年拿个学位还不如踏踏实实在国内一直干呢。

关于我说的技术工具

我上次说的“技术工具“可能让很多人觉得不痛快。我个人认为中国人在美国是一个教育水平很高的群体,但由于文化语言社会背景的关系,真正能做到高级管理职位的少之又少。美国science曾经登出一篇县局报告说,亚裔占美国总就业人数的4.1%,却占美国生命科学家总数的14.7%,但近200位实验室或分支机构的主任,亚裔只占4.7%。在中国人占尽优势的科学领域尚且如此,更不用提工商界这种对文化社会关系依赖度更强的地方。回去做高级管理职位的海龟的百分比肯定比留在美国的高。我是大学毕业后才到美国的,对于我而言融入主流社会的机会更少,不觉得自己能是那极少数精英中的一员,所以就选条容易的路走。个人情况不一样,对自己的能力判断也不同,我说的比较偏激一点。

本来,各人有各人的兴趣和专长,编编程序没什么不好的。而且,在美国编程序可以说是一种相对收入较高的职业,我的同学朋友不少就是干这个的,过得也很好。就职业发展而言,纯技术有它的局限性。我是学business的,统计结果表明,绝大多数高级管理职位的人都是从三个部门上来的: marketing, finance and accounting。这是事实,不承认不行。

说到纳税,我早就说过不会去干偷税漏税的勾当。至于什么天经地义的我不管,只要能在合法的范围里能少纳税,我就感到高兴。

“至于上级面前是孙子,下级面前是老子“,我是听了不顺耳。这种style实际上是一种过时的思维。我在公司里无论是对上还是对下都是对事不对人。而且说实在的,每个人的事业发展都有走运背运的时候,你在走运的时候摆架子,背运的时候也别指望别人帮你。

至于项目运作,中国这个市场没啥真正的research,重要的在于理解把握客户的需求。技术么,该付多少钱买就付多少。Business is business.

平平淡淡生活,兄弟我就是不喜欢,就活这一辈子,当然是能往上闯就往上闯,省得以后遗憾。

2006年10月31日

       看到老公疲倦的样子,我就知道他昨天因为工作又太晚休息(果真,他昨晚12点的时候还在忙)。他这个人啊,对工作胜过对自己,对工作的热爱有时候胜过我,可是我爱的就是这样一个有事业心和责任心的好男人!

       老公啊,我想陪在你身边,想为你做我拿手的粥和菜,想照顾你的饮食起居,可是我不能,至少现在不能,对不起啊,老公,我照顾你不周。以前我们在一起的时候虽然时有小吵,可是不管怎么说我能看着你吃我做的饭和熬的粥,而且有时候还能为你准备午餐(带去公司的时候还能被同事羡慕一番),那时你常说粥好喝,你喜欢喝。现在我要在你身边的话就好了,你至少吃饭是规律的,不用和另一个朋友一起吃咸的要死的面条,也不用时常忘记喝豆浆和吃早餐,更不用忘记换鞋子和加衣服。老公啊,你要好好照顾自己,就当我在你的身边,等再过2年的苦日子,我们就可以永远在一起了,那时我希望我们能相互扶持,永远恩爱!

      爱你的小猪,再祝我们好运!

    

小猪,小气的小,小猪baby的猪。想想有时侯小猪真的蛮可爱,很在意一些minor的东西,而且会和你吵个不停,但是好起来又是一个很传统的中国女人,细心,体贴入微,甚至会关心我的每日饮食,想想我叫她干的事情,她却一个也不做,心里就来气。不过想想也没什么,夫妻之间相处难免女方会有一些小孩子的脾气,但我担心她的这些东西会直接影响到她以后的工作以及与人相处,因为我实在担心其他人会根本不理她的这一套,这样她就吃大亏了。 实在没办法,叫她别撞墙她偏要撞,也许撞过之后才知道很痛。

 

小猪,图片我想办法重新贴上了,越看越象我们自己搂在一起睡觉的样子!呵呵呵…. 一个戴帽子,(怕掉头发?) 一个睡觉还戴花,,,呵呵呵,还真Fashion。只是俺的鼻空也忒大了点吧。

    

2006年10月16日

 

上午在CSDN的C++版逛时,发现有人在问volatile关键字的用义和用法。于是乎便写了这篇BLOG。 如果你懂一点点的编译器的知识我想你都会知道编译器在编译你的代码的时候,用进行自动优化的,用以产生优化指令。同上操作系统和一些线程同样也会对你所定义的一些变量做出一些你所不知道的更改。这样的更改我们称为,隐式修改,因为你不知道,编译器在什么情况下,在那里做出了优化,甚至你都不知道,或是不能肯定编译器到底有没有对你的代码做出优化。 直接点把你看看下面的例子 #include void main() { int i=10; int a = i; printf("i= %d\n",a); __asm { mov dword ptr [ebp-4], 50h } //下面汇编语句的作用就是改变内存中i的值,但是又不让编译器知道,来隐式的修改了变量。 int b = i; printf("i= %d\n",b); } 然后,在调试版本(debug)模式运行程序,输出结果如下: i = 10 i = 80 然后,在release版本模式运行程序,输出结果如下: i = 10 i = 10 呵呵结果看到了吗?输出的结果明显表明,release模式下,编译器对代码进行了优化,第二次没有输出正确的i值。所以得出一个结论在VC中release模式编译代码时编译器会自动对你的代码来做起优化的。而调试版本(debug)模式下便不会。 废话说了好多啊呵呵 下面继续说说 volatile 下面,我们把 i的声明加上volatile关键字,看看有什么效果: #include void main() { volatile int i=10; int a = i; printf("i= %d\n",a); __asm { mov dword ptr [ebp-4], 50h } int b = i; printf("i= %d\n",b); } 这下你再在调试版本和release版本运行程序,看看输出结果是不是都是: i = 10 i = 32 估计大家看到这里便会明白了,volatile 这个关键字最最主要的意思是做什么的了。 在MSDN中volatile是一个限定符,也称为keyword或描述符,"volatile 关键字指示字段可由操作系统、硬件或并发执行的线程在程序中进行修改。" 当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。而且读取的数据立刻被保存。 一般说来,volatile用在如下的几个地方: 1、中断服务程序中修改的供其它程序检测的变量需要加volatile; 2、多任务环境下各任务间共享的标志应该加volatile; 3、存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能由不同意义; 声明方式为  volatile declaration 备注系统总是在 volatile 对象被请求的那一刻读取其当前值,即使上一条指令从同一对象请求值。而且,该对象的值在赋值时立即写入。 volatile 修饰符通常用于由多个线程访问而不使用 lock 语句来序列化访问的字段。使用 volatile 修饰符能够确保一个线程检索由另一线程写入的最新值。 备注部分由MSDN原文所说。 本文参考:关于volatile关键字的说明以及测试(作者:iwaswzq) 有关volatile (函数前加volatile) 和inline的用法

 

 一直看到有同学讨论工资的高低的问题,我觉得有一些误区是大家要认识到的,所以特地在这里分享一下。下面完全是个人家庭的真实情况,没有任何虚构。为了个人隐私,请大家不要推测调查,谢谢了。

  我有Z,S,C,H四个姐姐,一个哥哥CM在上海工作

  外企组:

  姐姐Z: 今年大四毕业生,上海外国语大学在读,目前在IBM BCS部门做Trainning Group Administrator 由于是兼职,工资 30 RMB/Hour

  姐姐S: 工作7年,上海外国语大学毕业,目前在IBM 做 HumanResource,3级属于外包公司人员,月薪8000左右。 (含税)

  国企组:

  姐姐C: 工作10年,中专毕业,在某个国有进出口公司工作,普通办公人员,月薪不详

  姐姐H: 工作10年,技校毕业,在国家印钞厂工作,小主管,月薪不详

  哥哥CM: 工作0.5年 上海外国语大学毕业,交总行国际部外汇自营交易员,目前试用期月薪400,杂七杂八的补贴1050元(去税)

  看到这里,您认为现在钱最多,房最大的应该是谁?

  IBM组:

  IBM不交4金和解决住房。由于是本地人,姐姐Z兼职收入到手2500左右,姐姐S到手6000左右。

  公司不提供伙食,所以午餐自己解决。因为地处上海最繁华的淮海路,餐钱人均25元,一个月就是650左右,车费一个月400左右,姐姐S参加健身会所,一个月500左右,S全家在大学期间贷款买房子,月供2500。

  如果你以为,这样算来,Z的纯进帐就是1500,S的就是2000左右,你就错了。做为一个IBM的白领,其生活水准必须符合国际水平:吃饭不能去太差的地方,新天地和衡山路才是较好的选择;衣服要得体大方,不能买便宜货;聚会要主动买单,因为大家都知道你有钱;要看很多书和dvd,不被潮流淘汰…7788的花费下来,你就会发现,虽然日子风光,但是存款几乎=0,每个月到了那几天都要靠信用卡透支过日子。

  用姐姐的话说就是:IBM说给你多少,它确实不会无故少给,可是除了这些,它连一张纸也不会给你。

  我的两个姐姐现在天天在家通宵干活(没有加班费),IBM很聪明,他不赞成员工加班,可是必须在DEADLINE之前把所有的大量工作都做完。

  固定资产比较:(姐姐Z不计算)姐姐S,29岁因为工作忙碌,还没有恋爱,没有与父母独立住房,存款基本没有。

  国企组:

  姐姐C:结婚,有一子,老公是机场地勤人员,一套100平的独立住房,年前购买了小汽车。

  姐姐H:结婚,有一女,老公是银行业务人员,一套250左右复式住房(哈尔滨叫楼中楼吧),和父母合住,前年获得一套单位货币分配住房,年前购买了一套商品房作投资。面积不详。

  (以上两位姐姐的生活情况我不是最了解,毕竟是出嫁的人了,只比较固定资产)

  哥哥CM:伙食公司全包,这是我在他们食堂吃的饭菜:两荤:古老肉条,红烧肉;一豆:干丝豆皮;两素:青菜(油菜)抄肉片,清炒豆芽,一汤:番茄蛋汤;点心:水果或者一杯酸奶。

  这样的伙食怎么能不让人羡慕?都说工大的伙食好,论一顿饭的营养均衡,我看和交行还有一点差距。说走题了,除了伙食,一人一月一张交通卡,可以坐公交地铁,打的,反正上次我看到他卡里还有1000多块。

  过节发钱和实物:中秋发了5只哈密瓜,春节发了红包(科长的那个厚啊,要用马甲袋装),还有扑克牌,笔,杯子垫什么的随便拿。交行除了4金外,还为员工交补充养老金和补充医疗保险,也就是传说中的六金,一个月在你的公积金帐户里打2500元的房帖,发到400000为止。

  你别小看这些六金啊,房帖的,别看现在用不了,等你买房子了,退休了,生病了,还不都是你的钱?!!因为是Freshman,一周有2-3天加班,其余时间工作基本不影响休息,他现在天天健身,MSN常在线,晚上学习钢琴,诱惑MM无数,周末打打网球,休闲一下,生活不能不用愉悦来形容啊!什么,钱?靠!!你的衣食住行国家都为你想到了,共产主义了都,你还要钱干什么?!!

  是不是很吃惊??说实话,我也不太愿意接受这个事实,据说广东那里的民营企业比外企更加黑,签约时报的工资只能往下减少,而且完全没有福利和住房,还拖欠工资。据说北方人去的,几年不回一次家都是正常的。想想也是,它不剥削你,他能赚钱吗?

  我的选择排名:

  国有垄断企业>国有大型企业/国有大型合资企业>欧美大型企业>绩优国有中小企业>日台韩大企业>绩优民营大企业>日台韩小企业>普通民营中小企业&破落国有企业

  国有垄断企业:电力,海关,公务员,烟草,军事,航空航天…永远不会破产的行业

  国有大型企业/国有大型合资企业:长春一汽,广州本田,四大国有银行,上海大众,航空航天,上海通用,宝山钢铁…只要经济还正常,就不大会破产的行业

  欧美大型企业:IBM,MS,DELL,PH,四大会计…工资较高,人格保全较好的外企绩优国有中小企业:地方银行,地方进出口公司,地方机场,请远离制业!…地头蛇和关系户型企业

  日台韩大企业:三星,Canon,sony,BENQ,Epson…工资较高,工作压力非常大的企业

  民营大企业:华为,美的,格兰士,TCL…工资中高或一般,风险和压力都不能忽视的企业

  民营大企业:华为,美的,格兰士,TCL…工资中高或一般,风险和压力都不能忽视的企业

  日台韩小企业:压力很大,外资只是一个幌子,剥削你才是真正目的。

  普通民营中小企业&破落国有企业:我想你也不会想去吧。

  哎,我的XDJM们啊,你们可要充分认清形势啊,别盲目地就跳进了火坑啊!

我觉得我有必要为中国写点东西了。

虽然我一向标榜远离政治,对所谓的世界大势有一种与生俱来的失望。但最近的很
多很多事情,还是让我觉得有某种东西如梗在喉,不吐不快。

我厌恶评论,因为评论家大多只是坐而论道的好手,一旦起而行之,则捉襟见肘。
站着说话不腰疼,固然很惬意。我知道有一天我也许会因为我说的这些而打了自己的嘴
巴。但我还是决定要说,就如鲁迅先生所说,如果一个房子里的人要闷死了,你把他叫
醒固然很残忍,但,如果你把所有的人都叫醒,又怎么没有可能把房子打一个洞来透气
呢?

我知道,也许我也不能把这座房子建的更好,但希望我说的话,能够给别人一些启
示或者思索,这些启示或者思索中,也许就有建房子的高手呢。

我今天要说的是,到底谁在抛弃中国?

这个问题看起来太大,几乎无从说起。我还是从细微处说起吧。

昨天在网易商业报道上看到一个贴子,内容是这样的。

房改是把你腰包掏空,教改是把你二老逼疯,医改是要提前给你送终。

很好玩的一个贴子,却很真实的反映了我们改革的一个现实。中国的未来在哪里?
我们要走向美国,还是变成下一个拉美?

我们常常可以听到这样一句话,美国的现在就是我们的未来。这句话让我们生出很
多美丽的遐想,好像我们真的再这样埋头苦干很多年,就一定能赶英超美,过上欧美人
的幸福生活。但是现在,在我们看来,也许赶英超美不过是一个美丽的遐想,也许中国
貌似强大的经济外表之下已经暗流涌动,也许歌舞升平之下已经危机四伏。

为什么要提拉美?

在我们的主流视野里从来都没有拉美,在我们的概念里,拉美这个名词不比非洲高
等多少。我们是不屑于提拉美的,那里滋生着一切资本主义的毒瘤,贫富分化,社会动
荡,政治独裁,经济畸形发展,拉美人在独立以后,瞎折腾了200多年,还是处于第三
世界。我们怎么能把自己和拉美比?

拉美人第一次进入我们的视线,大概是在去年,我们在谈论中国汽车业的未来走势
时,第一次提到这个词,后拉美化。有人对当时世界汽车巨头纷纷进入中国,瓜分市场
提出了自己的忧虑,说中国汽车如果不能走自己独立发展的品牌之路,而企图以市场换
技术,最后只能如同拉美的汽车市场一样,沦为世界汽车巨头的加工厂,在食物链底
层,抢食一点点残羹冷之。永远不可能在世界市场上与他们并驾齐驱。而更重要的是,
以低廉的劳动力换来的投资必将不会长久,因为一旦出现劳动力成本更低的市场,跨国
巨头马上就会进行产业转移,到那个时候,中国汽车业就会被抽空,拉美的今天就是中
国的未来。

这种担忧不无道理。

而我今天要说的,不仅仅是中国的汽车业,而是中国的整个未来。我们要走向何
方?

是发达的欧美,还是混乱的拉美?

郎咸平在华工(我不知道具体是那所大学的简称)演讲的时候,对大学生们说,
“30年以后写信给你女儿的时候你可能会写,你在别国当保姆的日子还好吗?”“如果
信托制度一直缺乏,那么改革将会把我们带到菲律宾而不是美国。”

台下的大学生莫名惊诧。

其实我觉得倒真没有什么可惊诧的。这个道理连我都能想明白,我们中国的那些精
英阶层,喝过洋墨水,读过哈佛剑桥的,谁能不心知肚明呢?但是愿意把它讲出来,讲
给我们懵懵懂懂的大众和青年学生的,估计只有郎咸平一个人了。

有些东西是得多用脚趾头想想。上帝给我们一个脑袋,不是为了让我们整天琢磨同
事有没有比我多发多少工资或者邻居的老公为什么比我能挣钱的。记得在中学学世界近
代史的时候,曾经就有一个问题一直想不明白。为什么拉美国家独立的时间和美国差不
多,到最后发展的差距咋就这么大呢?历史书告诉我们,那是因为帝国主义的掠夺。我
一直觉得那是狗屁,如果一对小兄弟一起长大,有一天哥哥对弟弟说,从今天开始,你
归我管了,你挣的钱归我,做弟弟的能愿意?据说拉美国家独立以后,很快就变成了美
国的后院。不过这是结果,可不是原因了。之所以美国能把他们当后院,还不是因为几
十年之后,当哥哥的已经比弟弟强大了好多,敢于对弟弟说,你挣的钱要是不给我,看
我不揍你。

当然,我当时是想不明白的。我面对这样的答案,也不过就是在心里说句狗屁,除
此之外,是断然提不出反对意见的。但现在,我敢说,也许真实的答案已经被我们发
现,并且他正在困扰着我们的中国。

拉美与美国的差距在于,它没有形成良好的财富再生体制,套一句比较主流的话,
它缺乏一种财富积累上的可持续发展能力。

举一个简单的例子来说明这样的差别。

第一种情况:

假设在一个地方发现了金矿,来了一个人投资建了一个矿场,雇一百个工人为他淘
金,每年获利1000万,矿主把其中的50%做为工人工资发下去,每个工人每年收入5万,
他们拿一万来租房子,剩下的四万可以结婚,生孩子,成家立业,矿主手里还有五百
万,可以做投资。因为工人手里有钱,要安家落户,所以,房子出现需求。于是矿主用
手里的钱盖房子,租给工人,或者卖给工人。工人要吃要喝,所以,开饭店,把工人手
里的钱再赚回来。开饭馆又要雇别的工人,于是工人的妻子有了就业机会,也有了收
入。一个家庭的消费需求就更大了。这样,几年之后,在这个地方出现了100个家庭。
孩子要读书,有了教育的需求,于是有人来办学校,工人要约会,要消费,要做别的东
西,于是有了电影院,有了商店,这样,50年过去以后,当这个地方的矿快被挖光了的
时候,这里已经成了一个10万人左右的繁荣城市。

而第二种情况是这样的:

假设同样发现了金矿,同样有人来投资开采,同样雇100工人,同样每年获利1000
万,但是矿主把其中10%作为工资发下去,每个工人一年1万。这些钱只够他们勉强填饱
肚子,没有钱租房子,没有钱讨老婆,只能住窝棚。矿主一年赚了900万,但是看一看
满眼都是穷人,在本地再投资什么都不会有需求。于是,他把钱转到国外,因为在本地
根本就不安全,他盖几个豪华别墅,雇几个工人当保镖,工人没有前途,除了拼命工作
糊口,根本没有别的需求。唯一可能有戏的就是想办法骗一个老婆来,生一个漂亮女
儿,或许还可以嫁给矿主做老婆。50年下去以后,这个地方除了豪华别墅,依然没有别
的产业。等到矿挖完了,矿主带着巨款走了,工人要么流亡,要么男的为盗,女的为
娼。

一个很简单的例子,其实就是拉美和美国不同的发展轨迹。也许今天美国人应该
说,感谢华盛顿,他为美国缔造了最现代最科学的政治体制,感谢亨利.福特,他一手
缔造了美国的中产阶级。而拉美国家就没有那么幸运了,他们的大独裁者创造了掠夺性
的经济体制,以一种豪强的姿态疯狂瓜分着社会财富,而使整个经济虚脱,再也无力发
展。

这里我们有必要再提一下亨利.福特。古今中外所有的商业人物中,亨利.福特对
社会经济的影响无人能出其右。正是他用他的T型车一手缔造了最初的中产阶级,并将
美国社会第一个引入了现代社会,(欧洲在这一点上,比美国晚了几十年)。亨利.福
特说我要让我的工人能买得起我的T型车,于是他给工人发高工资,他还创造了流水线
的生产方式,使汽车大幅降低,于是,福特公司一跃成为最大的汽车公司,于是有了钱
的工人可以买汽车,可以买房子,可以做其它的消费,于是中产阶级诞生了。于是在完
成西部扩张,在领土上已经没有回旋余地的美国发现了另外一个金矿,迅速成长的中产
阶级带动了巨大的需求,支撑起庞大的国内市场,继续拉动经济高速增长。美国从来都
是一个依靠国内需求实现经济增长的国家,而中国空有12亿人口,却居然内需不足,不
得不靠外贸来拉动经济增长,你说这不是咄咄怪事。你以为你是弹丸之国的日本哪?靠
外向型经济就能样得膘满肠肥?12亿人口,谁能养活中国?除了你自己。也难怪现在全
世界都在指着你,说你对人家倾销。

说到这儿,该说到我们中国的问题了,为什么我们会内需不足,为什么我们会没有
强大的中产阶级?我们的财富到那儿去了?我们到底还有多大的持续增长能力。

中国用一种渐进的方式完成了自己的资本原始积累。这里边姑且不说什么权钱交
易,制度漏洞,不劳而获。没有一个国家的资本原始积累是干净的。但关键就在于,在
积累完成以后,我们该怎么做,是继续任贫富分化发展呢?还是创造我们自己的现代社
会,创造坊锥形的社会结构。

看到那位网友的话真的倒吸一口冷气,我们在做什么?我们的改革是不是正在走向
一个反面,以疯狂搜刮普通大众并不多的社会财富来继续换取虚高的发展?尽早上看到
一篇文章,比较中国和新加坡的十大差距,具体的不说,因为小国毕竟比中国这样一个
泱泱大国要好管理得多。但是,让我深思良久的还是新加坡的体制中所投出来的平等思
想,那种对普罗大众的关怀。而我们,这种声音除了矫揉造作的官员做秀以外,我们看
到了哪些实质性的东西?中国从来就没有平等。过去没有,现在没有,将来有没有也很
难说。我们只有所谓精英和庶民。当所有的接受过良好教育的青年花一辈子的时间才能
买一个安身之所的时候,当一个家庭的一个孩子上学就要掏空家里的一切积蓄的时候,
当你在股市上投了钱就相当于捐款,被那些国企老板用什么MBO名正言顺的中饱私囊的
时候,当一个农民辛苦一年的收入还不如一个大款吃一段饭的开销的时候,你指望大家
不去省吃俭用,疯狂存钱?你指望银行里里几万亿的存款能够转化为巨大的需求?你指
望消费品市场能够持续火热?你指望有点闲钱的人能够去做更有用的投资而不是作为热
钱去炒房?你指望本来就不多的社会财富能够更快更合理流动?我们很穷,因为我们钱
本来就不多,却被装在了很少的人的腰包里,我们本来就不富裕,却在银行压一块,在
房子上压一块,在股市里套一块,nnd,我钱看起来不少,但是就是转不动,都是死
钱。于是,少数人手里的钱只能去买LV、卡地亚、施华洛世奇,因为除了这个,他们也
没什么可买的了。有些人还跳出来粉饰太平,说什么奢侈中国,狗屁!哪个大国的经济
能靠几个奢侈品品牌带动起来,再说奢侈品跟你有啥关系啊?你瞎激动什么啊?你要是
中国也有几个顶极奢侈品品牌的话,跟着起起哄也还可以。那不过是让法国、意大利多
赚点钱而已。这就是我们的中国,我们的农民还没有富裕起来,就已经为孩子的教育问
题吐干净了血,我们的中产阶级还没有诞生就已经横遭劫掠,我们到哪儿找内需?我们
除了出口,让全世界来养活我们以外,有什么办法?所以,全世界都说你倾销。是啊,
12亿人,谁养活得了你啊?

为什么会这样,为什么我们的改革走入了这样的一种境地?教育收费,房价高启,
股票圈钱,上帝啊,这是啥决策啊。哪个已经富得流油的国家在当初这么迫不及待地从
自己的人民手里捞钱?

我们的精英阶层都到哪儿去了?为什么这种用脚趾头都能想明白的问题,他们就想
不明白?

精英阶层到哪儿去了?

这个问题很有意思。

我想,精英阶层有两个去向,一个被收买了,一个被扼杀了。

郎顾之争已经让所有的人都对内地的经济学家失望了。为什么整个内地的经济学家
会败在一个叫郎咸平的香港人手里?只有一个问题——良知,不是大陆经济学家太笨
了,而是他们已经被收买,良知泯灭,除了为主子叫几声以外,已经没有什么别的作
用。于是我们的官僚、资本、还有知识界人士就结成了联盟,制定着进一步瓜分财富的
计划。于是我们的普罗大众就失去了话语圈,就算惨叫几声,也不会被人听见。

这是被收买的,还有被扼杀的。

就是青年。

想起鲁迅先生所说,最有希望的就是我们的青年。但是,tnnd,又是教育,教育,
tmd的中国教育,被这些狗屁精英把持的中国教育,一方面掏光你的钱袋,另一方面让
你接受填鸭式的知识,除了会背几个狗屁单词之外,几乎剥夺你任何独立思考的能力。
好啊,这招真好,真是斩草除根了。郎咸平对大学生说:“我们这一代人不懂法制,也
没有良心。”“我们这一代是要早点被淘汰的,把权力交给你们,你们才是未来。”
唉,也许郎先生真的不太了解中国的内地,他不知道现在大学生的孱弱肩膀,也许根本
就担不起这个担子。

在这样的一个世界里,你该怎么办?保护你自己。这是每个人首先想到的答案,要
么离开它,要么让自己变强大,因为别指望政府保护你。记得五年前我就说,中国在进
入一个急剧分化的时代,我们,能做的仅仅是在它分化完之前拼尽全力挤入上层而已。

现在我依然说这话。

变强大,只有变得强大,你才能保护你自己,保护你想保护的人,你才能让自己的
声音被更多的人所听到。

最后,想起一句话,如果一个国家不爱自己的人民,你有什么权力要求自己的人民
去爱他的国家。

希望,我们,不要说这句话。

2006年10月13日

NOTE: 说来惭愧,来美国快3年了,英文不见进步,反退步不少,写一些生硬的技术文档还马马虎虎, 但写略带文学色彩的心得文章就捉襟见肘了,只能用母语来表达了.这篇心得是我做这个项目的一点体会, 受自身水平所限,难免有可笑之处.如果你设计过12层的PCB板,写过10万行以上的可靠代码, 调试过300MHz的总线系统,那么你不用在这浪费时间了,因为你已经是一只大牛了, 这篇心得是为那些刚刚出生的牛犊和正在默默工作的小牛准备的.)
开发心得

终于做完了!当我开始坐在电脑前为这个项目写网页的时候,距离我开始着手做已经有8个月了. 这8个月来,伴随着我的一对双胞胎宝宝的诞生,USBGPS项目从底层的硬件和固件, 到中间层的设备驱动,直至高层的用户程序,一步一步,成为一个具有基本功能的GPS软件接收机, 就象我的第3个孩子.同时照顾好3个孩子实在是一件困难的事情,酸甜苦辣,一应俱全,个中体会,一言难尽.

我第一次知道GPS软件接收机开源项目是在2003年PORTLAND的ION大会, CLIFFORD KELLY主持的 GPS开源项目小组聚会上. 我当时就觉得这个项目很有意思.从PORTLAND回来后, 面临博士开题报告,我就想做GPS接收机的软件无线电的实现. 于是我开始读CLIFFORD的代码, 试图搞清楚一台GPS接收机都要作些什么事情. 在那个时候,我就萌生了重写整个系统的念头. CLIFFORD 的硬件接口是ISA,ISA总线是上个世纪的东东了,现在的主板已经没有ISA了,所以硬件接口是一定要改的. 选择USB接口主要是因为我不想打开机壳安装硬件,而USB设备的易用性正是我所希望的. 确定了硬件接口后,整个项目的开发进度如下:
2003年10月,DAN为我设计出了第一个试验板,试验板上只有51处理器和USBN9603, 我用这块板子进行USB固件的调试。
2003年11月底,固件调试通过,具体表现是当我将接口板插入USB槽时,系统提示我安装驱动.同时, 开始WDM驱动的编写.
2003年12月底,我的第一个驱动完成(当时正值圣诞节). 但此时固件和驱动都只是完成最基本的功能, 数据传输率只有< 50K字节每秒.
2004年1月至3月底,进行固件和驱动的优化.(其间伴随着我的双胞胎宝宝的诞生, 开发难度陡增,最困难的时候一天只能有3到4个小时的睡眠时间,让我真正明白了什么叫"身心俱疲".) 到4月初,我传输一个900字节的USB包只需要2MS, 也就是说,数据传输率接近500K字节每秒, 对非DMA方式的系统,我已经很满意了.
2004年4月初到5月底,开始高层应用软件的编制.环路的锁定耗费了我将近一个月的时间, 到5月底,我的程序已经可以同时锁定6颗星的数据,EPHEMERIS数据可以正确解调.
2004年6月初到6月中,调试PSEUDORANGE的计算.经过一些非常规的处理,以及固件的配合改动, 在绝大部分时间能得到正确的PSEUDORANGE,并解算出正确的位置坐标.
2004年6月中至今,进行程序的洗炼和系统的测试.
从一开始,我就明白这个项目没有太多的学术价值,想用这个项目发文章的可能性不大.但我认为, 这个项目还是有其实用工程价值的,至少对于我自己,我从这个项目学到了很多东东,斩获颇丰. 从大的层面上看,我的收获主要是两个方面:技术层面和非技术层面. 其中我最有感触的还是非技术层面. 下面就是我在非技术层面的斩获:
斩获一: 天道酬勤.
老祖宗的这句话直到今天还闪烁着睿智的光芒. 这句话对谁都适用,不管你的智商是75还是205. 这里的"勤"并非意味着要早上5点起床,晚上12点才睡觉,我想,这里的"勤"应有更广的含义. 我的体会是: 要勤学,勤思,勤练.

所谓勤学, 就是要持之以恒的学习,"书到用时方恨少"(下联什么来着?"衣到洗时才嫌多"?). 以硬件设计来说,在课堂上学的数电和模电是基础, 但仅有基础是远远不够的,硬件设计牵涉的知识包括阻容晶体管分立器件,常用门电路, 单片机设计,FPGA/PLD可编程逻辑器件,DSP系统,存储器芯片,PC机接口(RS232,RS485, 并口,ISA,PCI,USB,FIREWIRE…).这些知识不可能都在课堂上学习,但如果不掌握这些知识, 在做硬件选型的时候就会受限制,最多只能勉勉强强地拿出一个或两个设计,这样谈何最优方案? 以软件设计来说,对一个电子工程师,C语言可以说是基本功中的基本功了,谈到C语言, 有人可能会不屑一顾:"学C语言应该是大一新生的事情". 的确,我学C语言至今也有10年了, 可直到今天我的枕边还常备一本C/C++的书,闲来无事就拿起来翻几页。 在实际工作中学C语言和在学校里学习是不同的:在学校里,某一个知识点错过了, 至多考试时少个3或5分,可现在,错过一个知识点,那么把你折腾了好几宿的那个BUG可能就是那个知识点。 这都是血泪教训呀。

所谓勤思,就是要多想想。一个别人的成功设计,作为一个电子工程师,不仅要会用, 还应该想一想某一个功能别人是如何实现的,如果让我做,我会怎么做。在学习理论的时候, 不要仅局限于理论上的推导,还要想一想在一个数字系统应该怎样来实现。只有这样, 才能在遇到问题的时候不致于措手不及,才会有清晰的物理概念.

所谓勤练,就是要经常练兵.做硬件的,如果有条件,时不时做块小板子,写上几行汇编程序, 实现一些简单功能,这样使技艺不致生疏,所谓"业精于勤荒于嬉";做软件的, 可以经常编一些小程序,也是同样的目的.
斩获二: 不要轻言放弃.
回首我做这个项目的8个月中,其中共有5次大的沮丧,每一次都令我几乎放弃.

沮丧一: 在2003年的10-12月,我全力以赴调试固件和驱动,主要是将USB通信搞定. 当我完成了设备驱动,准备做GP2021的读写接口时,猛然发现,GP2021的数据线是16位的, 而51单片机(我最初用的是ATMEL89C51)的总线是8位的.每一个本科毕业的电子系学生都知道:8位机是不能直接接16位器件的! 这让我极其郁闷:想我鲁少侠行走江湖也有6,7年了,从未失过手, 竟在这么简单的问题上疏忽大意, 实在不可原谅。痛定思痛,坐下来找解决方案:方案1,用16个IO脚造出16位总线的读写时序; 方案2,废掉该接口板,另外找16位或32位处理器重新做硬件.方案1的问题在于,读写的速度要减慢很多, 以前只用一个读写指令就完成的事,现在必须用10几条指令才能完成.方案2的问题在于违反了我的很重要的设计思想, 既硬件的简洁和硬件开发的难度要低.这个问题在后来选定DS89C420以后才解决,我选的还是方案1.

沮丧二: 驱动完成后,我开始编写简单的测试程序来测试接口板和PC机的通信.令我惊讶的是, 我的USB设备和PC的通信速率只有几十K字节每秒,这个和USB1.1 12Mbps的理论值实在差别太大. 以这个速率,要想实时控制GP2021是不可能的.我努力了一个月后,没有什么起色,非常沮丧, 当时的想法还是废掉USB接口板,转而采用并口的EPP模式,但我看看丑陋粗大的25针的并口电缆, 还是咬咬牙坚持调试USB.这个过程持续了将近两个月,才把USB通信速率提上去.在当时,可真是极度的折磨.

沮丧三:在传输GP2021的数据时,因为每一帧数据包含4组,每一组包含12个通道的数据(在一开始我是想做12通道的), 每一个通道的数据包含PROMPT的I,Q, TRACK的I,Q, 加上8个测量值(CODE_SLEW,CODE_PHASE, CARRIER_CYCLE_LOW, CARRIER_DCO_PHASE,EPOCH,CODE_DCO_PHASE,CARRIER_CYCLE_HIGH,EPOCH_CHECK). 有兴趣的可以算算需要多少个字节: (4*2+8*2)*12*4 = 1152. 而DS89C420的片上RAM只有1K, 这样带来的另一个问题是,USB提供不了这样宽的总线带宽(也许理论上可以,至少我的硬件不能).怎么办? 废掉当前的板子,另外做一块DSP板子?资源倒是够了,可开发难度又上去了,而且说句粗话, 这样的做法有点象"脱裤子放屁—多此一举",因为DSP本身就有很强的处理能力,1MS一次的处理强度对DSP来说是小菜一碟, 还要你PC机干吗? 这个问题的解决是在读了GP2021的数据手册N遍以后,蓦然发现, 原来每个通道的8个测量值只有在TIC发生后才更新,所以只需要在TIC发生后才有必要传输给PC, 而TIC是每100毫秒才发生一次, 这样就大大降低了数据量,不仅减轻了对数据缓存的压力,也降低了对数据带宽的要求, 在加上将欲锁定的通道数由12个减到6个(这个是没有办法的办法,只有等USB2.0的接口板来实现12个通道了), 实时控制GP2021已经不是困难了.这个问题也折磨了我近一个月之久.

沮丧四: 这一次是我开始调试TRACKING LOOP以后.我的环路怎么都不能锁定信号,我能确定信号肯定存在, 因为我在CONFIRM状态将数据存在文件里分析,相关器的输出很强,而且都是在同一个伪随机码相位出现, 这是典型的GPS信号. 可我的环路就是不能锁定. 因为USB不是一种萃发读写的总线, 我的GP2021的控制指令是由跟踪环路代码根据每3或4毫秒的相关器的输出才产生一次,而CLIFFORD的设计中, GP2021的控制指令是每一毫秒的相关器的输出就会产生一次.这一次我心中实在是没底了, 因为看起来在锁相(和锁频)环路,(PLL 和 FLL), 的更新时钟就完全不一样了,而且有时是3毫秒, 有时是4毫秒.这个问题的解决就不是一两句话可以说清的了,有兴趣的可以读一读我的环路代码. 这个问题也困扰了我一个月之久.

沮丧五:这一次的沮丧在我认为最不可能的时机出现:我的程序已经可以锁定6路卫星数据, TOW和TLM,以及EPHEMERIS数据都可以被正确解调,卫星的精确位置我也已经可以毫不费力地算出, 看起来眼前是一片康庄大道,前途一片光明, 还有什么工作的干活? 对,解算PSEUDORANGE和用户的位置坐标!但我又一次突然发现, 我竟然得不到卫星信号精确的发送时间,这一点是由于USB硬件所限:每一个数据比特是20毫秒, 在数据的跳变沿,常规的做法是要置GP2021的EPOCH寄存器的MS部分为1, 这样在TIC发生时读到的EPOCH值才是同步的, 否则会有一个未知的偏移,偏移一个毫秒便是300公里呀(0.001*光速=300KM)! 而对USB通信来说,是不可能在任意时刻向设备发号施令的,所有的USB包都必须在1毫秒的时间帧上发送. 在那段日子里,我算出的位置一会在加州,一会在佛罗里达,一会又到了加拿大,一个小时之内可以游遍整个北美洲! 这个问题的解决也是不能用几句话能说清的,可以参看我的代码.我只所以坚持下去是我实在不甘心放弃, 感觉象两万五千里长征已经走完了1.2499999E7米,于是奋力的熬了一个星期的夜,搞定. (当然我的解决方案偶尔还会算错,但大部分时间都能给出正确结果,对于一个面向教育意义的项目已经足够了).

回首前尘,我很庆幸在每一个挫折前没有轻易放弃,而是征服了它.我的感觉是,往往当你觉得走投无路的时候, 你其实已经快要胜利了,你要做的只是再坚持一下.而当你解决了这个困难以后,你的经验值就又长了几分.
斩获三:要留给自己充分的时间思考.

有趣的是,这个道理是我的一对双胞胎儿子使我明白的.有点匪夷所思? 在他俩还没出生的时候,我每天可以有3到4个小时的时间用在开发上.在这3到4个小时里, 我几乎都坐在电脑前写程序,如果顺利的话可以写个几百行没问题,可是我发现,当天写的程序, 总是会在第二或第三天被删掉一大半,也就是说,大部分的工作最后都是垃圾; 随着宝宝的出生, 我每天的开发时间骤减到1个小时, 而且这一个小时还是断断续续的:刚坐下20分钟,有情况发生(儿子饿了,渴了,尿了,屙了,寂寞了…, 刚搞定老大,老二又开始上场了), 当我把他安抚了,一个小时又过去了.可是在这一个小时里,虽然我没有写代码,但是大脑却没有停止思考. 也就是说,为了20分钟的程序我思考了1个小时,我会想出好几个方案,这样当我再坐在电脑前的时候, 我可以选择一个最优的方案来实现. 于是在每天一个小时的开发时间里,我虽然只能写一百行甚至几十行程序, 但返工的却少得多,大部分程序都可以一次通过. 另外一个有趣的现象是,白天当我发现我的程序运行不正常, 肯定是有BUG, 而很多的BUG却是我在凌晨3,4点钟给孩子喂奶的时候灵感突现解决的:-),不过这样的后果就是失眠.
相比非技术层面的收获,技术上的收获就具体多了,主要有以下几点:
1.学习了GPS接收机基带信号处理的全部流程. 现在给我时间和一堆芯片, 我可以说我能独立设计一台单频(L1)的GPS接收机.这也是我做这个项目最初的目标.
2.学习了WDM设备驱动的编写.
3.学习了USB协议,掌握了USB设备的开发流程,积累了USB接口开发的经验.
其中第1条是最重要的收获,第2,3条是这个项目的副产品. 接下来,如果有时间, 我还想做一下LINUX下的版本,同时在硬件上开发出USB2.0的接口板,这样应该可以实时处理12个通道. 所以技术层面的收获还有潜力可挖.

从一个项目挖出这么多油水,学到了这么多东东,我已经很满意了,很对得起我那些不眠之夜了.

回想最一开始决定做这个项目的时候, 生活有些懒散, Clifford的程序看得有点累, paper看得有点烦, 许久没有用烙铁焊过板子的手有点发痒, 决定做这个项目于我而言就象是一个game, 我不知道我能走多远, 因为没有人要我向他负责, 我也不需要这个项目挣钱, 一切都是随心所欲. 可我终于还是过高得估计了自己的能力, 我曾经认为我可以在我的宝宝们出生之前(04年2月初)结束战斗, 结果我多花费了一倍的时间才完成. 如果说刚开始做的时候凭得是好奇心, 那么最后能坚持做完则凭得是被激发起来的兴趣. 在这8个月里, 我一个人把最底层到最高层的设计走了一遍, 很累, 很苦, 但也很充实, 因为毕竟有自己真正感兴趣的事情在等着我.

一个人最重要的是有自知之明,能清楚的知道自己的长处和短处,能明白自己的真正的兴趣是什么, 这样才能知道自己应该做的事情.对于我自己来说,我对自己的职业规划就是一个电子工程师, 能够设计出精巧实用可靠的电子产品,同时能在工作中融合自己的研发兴趣. 做一个电子工程师是辛苦的, 因为那将意味着熬夜(看文档,调程序),失眠(绞尽脑汁想问题的结果),经受情绪的巨大波动( 当你走投无路的时候突然发现了解决之道,情绪的变化绝对是一个狄拉克函数), 还有遭受老婆的诟骂(当你不吃不喝也不做饭的时候); 但做一个电子工程师又是幸福的, 因为你将能够体会到常人体会不到的快乐. 我永远都记得那些时刻: 当我的程序第一次收到正确的USB包, 当我的程序第一次锁定卫星的信号,当我的程序第一次解算出正确的位置坐标的时候, 因为在这些时刻,带给我的是发自内心的快乐和成就感.

罗哩罗嗦这么多,奉献酸文一篇,权当工作总结报告.格鲁夫曾说过:只有偏执狂才能生存! 这句话本身就极为偏执,但也不乏深意,尤其在当今这个技术一日千里的时代. 如果你也是一个对技术偏执的人,我愿以此文与你共勉.

UTC 时间: 6:55, 七月25日, 2004
本地时间:23:55, 七月24日, 2004
于UC, Riverside ( 经度:-117.326 纬度: 33.981 高度:294.17米)

致谢
下列人士为这个项目给了我很大帮助, 在此我要表示感谢:
Clifford Kelly.
这个项目是基于CLIFFOFD的工作. 实际上我从他的源程序里就学到了很多GPS的知识, 在我对他的程序有疑问的时候, CLIFFORD总是给我及时的回答.

Jay A. Farrell.
FARRELL博士是我的研究生导师, 我在他的指导下系统地学习了GPS理论. 并且他也很鼓励我完成这个项目.

Jenna.
我一度对跟踪环的具体细节很疑惑, 是与Jenna的讨论使我澄清了疑点.

Dan Giles .
Dan 在项目的最初为我作出了这块漂亮的试验原型板, 节省了我的时间和金钱.

最后我要向我的妻子, 炎, 表示特别的感谢. 她承担了绝大多数家务, 并且还要照顾我们的双胞胎宝宝, 使我有时间来做这个项目. 没有她的支持, 我是不可能完成这个项目的.

Welcome to USBGPS Opensource Project Homepage
© Copyright 2003 Email: Yu Lu