初到美国

2010年8月6日,这一天我将永远记住,人生第一次踏出国门。没有太多的不舍,更多的是对新生活的兴奋和期待。

在上海浦东机场倒是一切顺利,托运好行李,迅速过了中国边检之后就上了Delta的国际航班。将近14个小时的飞行也很平稳,没有遇到太大的气流。对于初次坐飞机的我来说,除了降落时被一群女生的尖叫声吓到之外,也没什么不适的。。。不过在中途转机的底特律倒是发生了不少小插曲。

首先是过美国海关。。底特律海关的officer都很严肃,弄得气氛很紧张。站在我前面的一位阿姨是一个人来看女儿的,竟然一句英语也不会说。轮到officer询问她的时候我临时被拉去当翻译。。。这个实在是没预料到,大脑中还在酝酿我该如何回答officer的问题呢。Officer是一位黑人阿姨,问了一大堆的问题,一个接一个,什么你来美国是干什么的,为什么要来看你女儿,上一次来看女儿是什么时候,为什么这么快又来看女儿,你外孙生了什么病之类的。。。。把我彻底给问晕了~~N分钟之后,终于问完了,我以为我可以不用排队就在阿姨后面了。没想到黑人阿姨说了句thank u,又让我回去继续排队。。。。faint~等了几分钟之后,才轮到我,不过一个问题就水过了。

护照戳了章之后,整个人还是晕呼呼的,领了行李之后就开始接受CBP的检查了。这时我猛然发现,大家的海关申报表基本都是空白。。。就我老老实实的填了一大堆。还有大家基本都勾否,我还在食品那块勾了是。。。。这样的结果就是要接受CBP的详细开箱检查- -!!而什么都不填的就可以pass了。

officer问我带了什么食品,我很淡定的答道:”Jew’s Ear(木耳)”. Officer立马石化了,”What? What’s that?” 我赶紧解释:”It’s a kind of Chinese edible fungus.” Officer笑了笑,貌似明白了。。让我去第二关。。

拐了个弯,我就被带到了CBP的开箱检查处。检查之间先问我带了多少香烟(表上我写的,给室友带的)。我又很淡定的答道:”Two boxes.” 海关警察愣了下。。。”Do u mean two packets?” “Oh yes! I’m sorry…” 好囧。。。差点被以为是走私贩了。之后更紧张的事情发生了。。。荷枪实弹的白人警察叔叔问我带了多少钱。。。包括美元,外币,各种硬币等,要准确数额。我瞬间蒙了,我哪知道我具体带了多少钱啊。。。还带了几百块人民币呢。于是就开始瞎报。。。不知道脑子出啥问题了,报了个ninety thousand。。。也就是90000美元- -!本来是想报9000美元来着。。。警察叔叔瞬间石化了,”What? 90000? Are u sure?” 我还点了点头。。。另一位警察叔叔出现了,让我写在纸上。。。这时我才明白我说错了~~急忙改口。警察叔叔拿了张中文表格出来让我填写。。。。看来是怀疑我的英文水平了。填的过程中不断强调让我填exact amount。 我说我不确定。这下好了。。。警察叔叔听我说不确定,招呼了旁边的警察,说是要带我到里面的房间去。。。于是我就在police的带领下,向里面的小黑屋走去。。。。看着他腰上的枪和电棒,紧张死了。。。

到了屋里,police就很凶的朝我吼:”Take out all you things and money immediately!”我瞬间慌了。。一阵乱倒。。忽然想起来我的一些现金被我妈缝在内裤里。。。。。。OMG,怎么办?汗,松了下裤腰带,掏啊!警察瞪了我一下,我又慌了,这哥们不会以后我在掏枪吧。。。。笑了笑,继续掏。。。他也开始翻我的各种包。包括身上的单肩包,双肩包,仔细的搜索。。。然后另一个警察开始数我拿出来的钱,数啊数。。。终于数完了。然后那边也搜完了,就让我把东西收起来,让我走了。

我已经被折腾的一身汗了,多半是紧张吓的。。。收拾好所有东西,赶紧溜。这时候也不知道方向了,只知道跟着人群走。整个大脑处于停滞和混乱状态,这个时候已经将近40多个小时没怎么睡了。再看看周围的人,已经没有一个眼熟的了,同行的人应该早就进了候机大厅了。。。

跟着大部队来到了安检口,行李被送入了传送带,开始排队。人很多,我排队的时候还顺便问了下里面的工作人员,哪里换登机牌,结果黑人保安也很凶,不理我,先让我排队。回到队伍中,一个英国佬说我插队,让我去后面重新排。我说我刚才就在这,只是去问下情况。他貌似很不满,说亚洲人没素质。。。不理他,继续排队。过了安检才发现登机牌是在安检前换的,这时候已经没法回去了,真够混乱的。进了候机大厅,咨询了一下Delta的工作人员,他说找Delta的服务台,可以打印临时的。。。OK,这下可以放心了。

找到了同行的晕菜,拿到了临时登机牌,终于可以松口气了。。。接下来我就在机场里到处逛,去商店买了瓶水,换了点零钱,又去starbucks买了两杯java clips和两块cheese danish。虽然转机时间有7个小时,但是感觉时间飞快,很快就轮到我们登机了。飞机上要了杯咖啡,但实在太困了,2天2夜没怎么睡,小睡了一下。再睁眼的时候,窗外已经华灯高照了。我快要到San Antonio了!!这个时候整个人又兴奋了起来。呼。。终于到了!

下了飞机,在出口找到了接我的崔师兄。师兄很快就把我带到了Blue Bonnet公寓。之后的事情就非常顺利了,因为我有一个全能而且无敌的室友。。。在他的照顾下,我迅速在这里安顿下来。床垫、家具都一一买齐,银行卡也顺利办好,买了个pre-paid手机。逛了几次Walmart,买了一大堆吃的。每天吃的好睡得好。。。。新生活算是开始了。

DSC06399

写在走前一天

今天果然失眠了。。。最近的生活过的异常匆忙和凌乱。每天都是忙忙碌碌的,可是到最后一刻都还在忙行李,真是没有计划,要好好反省下。

其实从拿到offer开始,这样杂乱无章的生活就开始了,一直到签证、毕业,每天都过着表面忙碌,却漫无目的的生活。

似乎慢热的太厉害了,还没意识到自己要走了似的,却真的要走了。

还有一些想见的人没有见,还有一些想说的话没有说,还有一些想做的事没有做。可是没有机会了。

今天修了3台电脑,半夜爬起来发现家里留给老妈的电脑也坏了,惊出一身冷汗,赶紧抢修,发现也是内存的问题,还好还好。

不知道下次回来是什么时候,不知道这些人还能否见到,这些话还是否能说,这些事还能否再做。

貌似半夜写东西已经语无伦次了,好像一直是这样。

各位朋友们珍重吧,我们后会有期!

辞职

今天正式提交了辞职邮件,我在云络的日子也开始进入倒计时了。

POST与GET方法的区别

继续暴露我web开发基础之薄弱。。。记录一下以自勉。

这应该属于HTML的基本知识了。还是.NET惹的祸,以前做开发页面传值基本由.NET包办,根本不用管POST和GET什么的。.NET做的事情就是让你在在各个控件间随意传值,然后自动生成html来handle这些。万恶的微软,这种机制是方便,但是却害苦了我们这些菜鸟程序员啊,如果从web开发上手开始就一直用.NET,很多底层的东西就会被掩盖掉,一旦更换到其他平台和语言,就什么都不会了。更可怕的是,对底层一无所知的程序员写的程序就会丧失很多特性,如性能、健壮性等等。

下面入正题,GET方法会将form中的数据encode到URL中进行传送,而POST方法则会将form中的所有数据放在html页面的header中进行传送,所以URL中不会看到任何信息。因此,GET方法往往用于显示或取出数据,而POST则用于提交或修改数据。当然,这个不是硬性规定,你当然可以随便使用两者,但是正确使用两者绝对是web开发的good practice. 至于为什么要这样使用,原因很简单。用GET方法提交数据,URL中将保存所有信息,用户可以bookmark,对URL做出修改也不会造成任何side-effect. 相反,用GET方法则不适合修改数据,如果用户有意或无意的修改了URL,则会对系统造成潜在的危害,这样的操作用POST更合适。

Reference:
http://www.cs.tut.fi/~jkorpela/forms/methods.html
http://www.w3.org/2001/tag/doc/whenToUseGet.html

Web应用程序中变量的生存周期

最近做php开发犯了几个很严重的错误。发现自己Web开发的基础真是不好啊,以前一直是在.NET Framework下面编程,太多东西被hide掉了,结果现在做没有任何web框架的php开发就全部暴露出来了。

.NET里有基于整个web application的全局变量,而php里除了session外没有application变量。所以变量的生存周期都是从页面加载开始到页面尾结束。如果页面刷新则所有变量重新加载。

另外,php的全局变量还有一个显著不同的地方就是它的global关键字,在局部引用全局变量时必须显式用global声明,否则继续当作局部变量看待,并隐藏全局变量。

我连变量的生存周期的都没搞清楚。。。难怪程序一直出问题了,下午review了所有的代码,现在没问题了。

最近的工作状态

很难得有今天这样安静的夜晚,于是决定再写一篇:)我的人生第一份工作,哈,值得写篇文章纪念下。

面试了不少家公司,最终去了这一家,也算是缘分吧。之前绝对没有想过自己会在这样的公司工作,我的简历上充满着微软的痕迹,C#/ASP.Net/SQL Server……我对微软一直不感冒,只是当初最早接触的项目就是基于.NET的,于是就一路做了下来。没想到,如今我却成了微软的对手,在一家完全崇尚Linux和自由软件的公司工作。

我们公司号称是世界上唯一一个提供全方位互联网基础设施管理的服务公司,并且是中国第一家提供云计算服务的公司。听上去很牛X吧,哈哈。我们是一家美国独资公司,属于初创型企业,不过发展势头很猛,短短一年多时间已经在业界小有名气了,大小客户也积攒了不少。比如大家熟知的Popcap(这个如果没听过,植物大战僵尸应该听过吧。。。)、大众点评网等等。说白了,咱公司就是替客户管理Linux服务器的,顺便提供一些云计算的服务和咨询,嘿嘿。

话说虽然公司是典型的初创型小公司,我在这里也是有收获的。起码。。。彻底的把我从Mirosoft世界拖到了Linux世界,这下是彻底回不去了。。。曾经有段时间也迷过Linux和自由软件,之后因为各种原因(Windows思想根深蒂固,许多软件使用不便等)无奈放弃了,真是可惜。这次应该不会了,在这样的氛围熏陶下,我深深的被Linux和自由软件精神迷住了。

如果是前段时间,我可能会用疯狂两字来形容我的工作状态,每天都像工作狂一样废寝忘食的留在公司“加班“,往往待到八九点才肯离开。除了无比宽松的工作环境和开源氛围,我在这里的发展似乎遇到了瓶颈,因为公司毕竟都是做Linux系统方面的,并不是做开发,我在这里能学到的东西很有限。唯一能在开发上给于我帮助的就是我旁边的法国帅哥,可是这样的帮助太有限了。现在在公司里上班就像和家里自学没什么两样,更要命的是我没有团队归属感,感觉我似乎是个局外人。。。因为在系统方面我的确做不了什么,我只能做开发,而这并非是公司的核心业务,所以我就不幸的成为了公司唯一的开发人员。。。于是,就有了最近几天的持续低迷。。。

希望结束手上这个PHP项目之后,我与法国帅哥Stefan能一起做一些有意思的项目,否则我就太孤独啦。

I-Work-Because-1280x1024

恍惚后的感悟

不知不觉,已经工作了一个多月了。

工作的这段时间我一直在不断的思考、反省。在人生重要的大学四年时光里,我都做了些什么?在有些人看来,我似乎过的很充实很精彩,然而除了大学的第一年,情况并非如此。是的,我后悔了。人生就是这样奇怪,人总是在不断前行的同时不时的回顾过去,看着自己曾经走过的路。有些路不该走,似乎是岔路,偏离人生轨道的;有些路弯弯扭扭,似乎有捷径,但自己却频繁的绕过了。总有种无限遗憾,无限懊悔的感觉。但你永远不能再回头了,人生之路,只能走一遍。

这条路很tough,非常不好走,至少对于我来说是这样。有些时候,很无助,很迷茫。更多的时候是浑浑噩噩,过着混乱随性的生活。我不想这样,人生苦短,我不想在自己生命消逝前还有这种遗憾、懊悔的感觉。我要过自己想要的生活,我不要遗憾。所以,我需要反省,需要慎重的走每一步。这并不是谨小慎微,而是不断修正自己的人生道路,不断变的成熟起来。

这几年在学校的日子,貌似只有一个主题:出国。从大一暑假开始上TOEFL班的那一天起,似乎所有的事情都要为出国这件头等大事让步了。从大一大二的时候为了保证平时分,每一堂课都去上,每一次作业都交,转变到大三的时候为了给准备GRE腾出时间,尽量不去上课,尽量不交作业,这真是“戏剧性的变化”。于是在学校的那个烂圈子里,人们给我打上的标签往往就是“好学生”、“牛人”、“变态”之类的。 面对这样的情况,我只能苦笑,并且害怕。 苦笑的是中国教育制度的失败,害怕的我是这一体制下的牺牲品。

我怀抱着对这一学科的热爱以及对前途的无限向往来到这所学校,然而梦想总是美好的,现实总是残酷的。这个世界有太多东西被光环笼罩了,聪明人能洞悉,而糊涂人只能迷糊了。至于我,时而徘徊在聪明人中,时而又陷入糊涂人的队伍中,恍恍惚惚着就活到了现在的岁数。一辈子能恍惚多少回呢?不知道,我大概恍惚了两三回了,也许会继续恍惚下去。

人生太复杂,不是我这样的人能参悟的了的。重要的是保持清醒,过自己想要的生活。

孔老人家说,如果你不能改变环境,不如改变你的内心。我们需要少一些抱怨,多一些思考。S19-449105

关于VIM的“runtimepath”

一直对vim的配置目录很confused,我发现它的配置路径有好几个,除了home下面的.vim,还有/usr/share/vim/vim72和/usr/share/vim,三个目录到底哪个才是vim读取的路径呢?

经过我的几番尝试和小小Google了一下,终于得到了结果。原来vim的“runtimepath”共有三个,就是我上面所说的,但是vim读取这三个路径是有顺序的。

首先读取的目录就是$home/.vim,如果vim读取到了该目录下的syntax或者plugin,就不会再去读取usr目录了。

其次读取的目录是/usr/share/vim, 最后才读取/usr/share/vim/vim72。

我想vim的设计者这样设计是有原因的,当前登录用户的个性化设定肯定是优先考虑的,而/usr/share/vim是给所有用户使用的设置。所以,对vim的设置和修改还是放在home目录比较好,一方面不会破坏系统原有设定,可以随时恢复,另一方面的好处我没有完全弄明白,具体请参见这位老兄的文章http://stackoverflow.com/questions/1384582/vim-linux-ubuntu-directory-location-vim-syntax

其实vim的documentation已经有很详细的描述了,在vim的command模式中输入:help ‘runtimepath’ 可以看到详尽的解释。

红牛+巧克力的威力

首先我要感谢一下某红牛饮料公司(貌似不是正规的“红牛”公司,难道是假冒产品?),没有你们的产品,偶的GRE就彻底挂了。

事情的经过是这样的。。。

考虑到咖啡利尿,不准备在考前喝咖啡。于是考前一天的上午,我从南区超市买来了传说已久的红牛(正规红牛公司的)+巧克力(正规德芙)。长期喝咖啡+浓茶的我只是想看下效果,以决定第二天考前要不要采用,因为预计这类东西对我也没用。果然,喝完半小时开始做题,没什么感觉,依旧昏昏欲睡。

但是。。。没想到的是,这玩意在十几个小时后发挥了他强大的威力,直接导致本人彻夜未眠,兴奋无比。早上从床上起来,整个人感觉在飘,我大脑里闪出的第一个念头就是,冷静一下,到达考场,然后看情况决定要不要取消考试成绩。看了一眼桌上的那瓶珠海某公司的红牛产品和德芙,一口气把他们吞下,又再冲了个澡。路上的时候,神智渐渐恢复正常。

到考场了,又冷静了一下,决定还是不要取消。毕竟我为之拼了这么久,我坚持过了,我努力过了,我认真的去准备了,不管是多少分吧,都是我奋斗的一个见证。

下面讲一下考场的情况。江西的同学也太悲惨了,搜遍了太傻寄托,都没有任何和江西考场有关系的内容,为了回报太傻,这些东西一定要分享出来,以造福后人。江西的GRE考场位于江西师范大学老校区(北京西路的)逸夫楼,名称是外语考试中心。那个楼叫一个破啊。。。我的天,考前一天去踩点的时候我还以为进了某小区呢。好歹是花了一千多块钱的考试啊,咋就这个条件呢。。。。门口的公告栏竟然用毛笔写着“GRE考场”等字样(请注意,是用毛笔)

至于监考老师嘛、、、还比较和蔼,可以低调跨区,不过我没怎么跨。考试结束竟然有一女生继续涂卡,超过5分钟了老师也不催,够松的啊,就是不太公平。

至于接下来几天要干什么呢。。。嘿嘿,虽然有期末考试,但还是要high几天的。

单词估计还会继续背,背单词早已成为一种生活习惯了。这一点可能只有考过G的人才能理解,用一句很GRE的话来说,现在的感觉就是一种愉悦的悲伤(agreeable melancholy)。
不多说了,请关注后续报道。

PS:红牛这个东西大家没事不要乱喝,喝完是精力充沛,一旦过了时间,全身都会乏力,而且还睡不着觉,我现在就跟行尸走肉似的。。。。

写在杀G前

话说终于要考了。。。。。。
考虑到明晚可能上不了网,在这先说两句。

这个GRE嘛。。。其实也没什么,不就是美帝国主义的一个破考试吗。其实啊。。。考多少分都是可以的,有个分数就可以申请了。。。。。
(下面省去若干行)
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。

自我安慰完毕,下面开始说正经的。
在大学期间参加了许多场考试、比赛、竞赛,貌似本人还没有哪一次算完全失手过。我相信这次也不会,尽管这一次是难度最大的,准备的最仓促最不完备的一次。只全力攻了半个多月,中间还被很多考试、琐事耽搁,鄙人此次若能突破1300,在杀G史上估计也属罕见。
实际上,这次考试的结果真的不那么重要。GRE只是留学申请中的一道槛,更是我站的更高,看得更远的一种手段。即使这次失败了我也不会畏惧,最差的打算不就是重考吗,偶不怕。。。偶耐力强劲,可以接受重考。

下面汇报下最近几天的复习状况(主要是给各位G友提高自信心的)
共正式模考了三次,第一次惨不忍睹,总分V+Q才1170
第二次依旧惨不忍睹,Q<700,V570 第三次。。。。。。。Q依旧<700,V依旧570 Well,在这样惨烈的成绩下,本人的自信心依旧未被摧毁。 从今年寒假上新东方开始,从准备AW到背单词到集中突破,其实整个过程除了集中突破期短了些还是蛮顺利的。红包记忆率初步估计达到了90%以上。所以说。。。就算考试砸了,背了这么多单词还是没有白费的,至少看美剧的时候比较high一些 时间有限,就不啰嗦了,大家等我的战况汇报和笔经吧。