回来了

May 10th, 2012 2 comments

回家的兴奋劲把自己回家的各种苦逼和快乐都给模糊了。回到祖国怀抱后,迷糊了好几天,现总算把自己的生物钟调整到接近东八区的状态。于是人也渐渐清醒,开始清理过去的一周发生的各种事情,见到的各种人物。

5月2日

订了下午三点的班车到机场。其实飞机是3日早上六点的,但怕时间太赶,不敢冒险坐3日早上两点的班车,所以就提前一天到机场附近的酒店住一晚。本来心情很好,因为马上就能回家了。但你永远无法知道下一秒老天爷为你安排了什么样的戏份。一点多时开车在路上,等左转灯时,后面上来老美,刹车都不踩,就撞我车子上了。而我的车因为惯性向前移,撞上了前面的车。前后车都没有事,倒是我的车,前后都有事。车前盖凹了一块进去,车屁股掉了点漆。那个傻逼女人肯定是走神了,没看着红灯,又不踩刹车,直接撞了上来。当时我车上还有张志和他老婆,幸好人都没事。这是我第一次出事故,当时非常火大,人也比较激动。以前在网上看过一些别人遇上这情况写的经验帖。于是我就照着做了,打了911,拍了肇事车的车牌号,要了肇事者的保险卡,还要了前车的信息。前车是辆皮卡,我的前车盖撞到了它的钢梁上,所以才凹了一块进去,但不严重,而它一点事都没有。后车的前车盖撞到了我的车屁股,我的车屁股掉了些漆,但肇事车的前车盖却没事。看来是我比较衰。警察来了之后,问了下情况并作记录。在警察作记录的时候,肇事车主打电话给她的保险公司,听着就知道她在说谎。不过每个人有每个人的说法,肇事车的说法肯定是不想承认错误,想减轻自己的责任,最好把问题赖到别人身上。幸好我有两个可靠的证人,她应该没法赖。警察作完记录,给我们一个case number,让我们各自联系保险公司。因为我只剩一点时间就得离开,只好找室友黄鹤清帮忙,他以前处理过这问题。到时候保险公司理赔时可能需要检查车子什么的,我人不在就没法办,就委托黄师弟帮我处理。我和保险公司说了我要回国,他们说没有问题,但让我留个国内的号码,对方的保险公司可能会联系我。保险公司打了电话给我,还有张志和他老婆,了解了一下情况,并问了我的意愿。我买的是全险,他们能赔我,但这样以后我的保费就会升高。所以,我还是想让保险公司代我和对方的保险公司交涉,让他们给我赔偿。以前还怀疑过自己这样交全险是不是很浪费,因为觉得不可能会出什么问题。现在发现,有保险公司,并买全险,事情好办很多。现在觉得,你可以很相信自己,但却不能因此而疏于防范,你永远想不到会有哪个傻叉冒出来。

5月3日-5月4日

在酒店没怎么睡,因为睡不着。最后的情况是,3日凌晨一点多睡着,三点多醒,只睡了两个小时。四点去机场,然后开始了二十几个小时的长途跋涉,转了三个航班。堪萨斯城到丹佛,丹佛到洛杉矶,洛杉矶到上海。别问我坐那么久的飞机是什么感觉,坐一次你就知道了。考虑到我最近都比较衰,你可以把预期再调低一点。4日下午六点半到达上海,大学室友宋立森同学来接我。我得以在他那借宿。不知道是我人品有高有低且正好处于上升期,还是宋的人品高罩到了我,宋的房东借了一间空房让我暂住,省去了和宋挤一张床的痛苦。

5月5日

一早起来,宋带着我这个乡下人逛了下南京路和外滩,之后去找同学。回去之前就在大学班级群里吼着来个小聚,于是5日就有了节目。大学时一些个比较熟的到上海聚,来了八人:强哥,晓玲,中锋,雪宁,呆龙,陈哲,宋和我。松平本来打算来,但临时有事没法到。晓玲和陈哲毕业之后就没见过,四年了。去年寒假去杭州开会时和中锋见了个面吃了个饭。而其他人我之前几次回来都会见到,要么在上海,要么在南京。八人中,除了我,其他都工作了。大家聊天的话题自然是工作和生活,比如技术和行业问题,买房和房价,娶老婆生孩子等。晓玲和雪宁没有和我们吱一声就偷偷结婚了,甚是不爽,大家一致同意让他们补请。陈哲的嘴皮子还是那么不饶人。宋还是那么不如意。中锋还是那么害羞。呆龙还是那么不要脸。而我,还是那么孤独寂寞空虚无聊。再熬一年,我就可以毕业工作了。

5月6日

中午,大学同学又聚了一次,只来了6个人。强哥一大早赶回南京加班了。周末啊,IT男果然是很苦逼,连个周末都没有保障。陈哲如四年前一样消失了。剩下六个人吃了顿午饭。饭后,晓玲和中锋匆匆赶回杭州交差去了,他们的老婆在家等着。呆龙陪老婆逛街去了。剩下三人。我和雪宁打桌球,宋在围观。最后宋看不下去了,直接无视了。我和雪宁打了十几局,全输了。我的技术真的很烂,或者说没有技术。四点多时散了,我赶去和高中同学聚。说是同学,其实只有一个同班过,其他的都是“不小心”就认识的。和高中同学吃饭比较八卦一些,“怀念”了下以前的一些校友或同学。说到这,想起一件事。打完桌球之后,我们三人往地铁站走,路上有个女生从我身边走过,我的第一反应是,这不是晚上要和我吃饭的邓同学吗?!但是,我们至少八年没见了。我这一眼就认出来是不是有点夸张了,于是怀疑自己认错人了,就没有去确认。反正晚上要一块吃饭,到时再问下。结果是,那位路过的女生就是邓同学。按邓同学的说法,是我们都没怎么变。按我的说法,是我的记忆力太好识别能力太强。按照某某某的说法,我们很早就显出老相,所以八年后还是那个老样,容易认出。

5月7日

今天的任务是办签证。之前在网上查了,说周末中信也收递签材料的。实践证明,梅龙镇广场对面那家中信周末不收。办完签证,回去收拾了行李,休息了一会。晚上坐八点的飞机到厦门。下飞机后到暂住的地方已是十一点。幸亏有位美女好友大力相助,不仅请我吃东西,还领我压了一会马路,让我这个乡下人得意再次感受到大城市的繁华和美丽。

5月8日

一大早,美女友人再次牺牲她的宝贵时间,带我这个号称逛过厦门却没去过鼓浪屿的乡下人去了一回鼓浪屿,了了一桩心愿。不对,是两个心愿。美女友人真是位好姑娘,可惜人家已经有主了,我只有捶胸顿足仰天飙泪的份。此一别,不知是否还有机会见到这位美女友人,想想就很伤感。

小逛了之后,拖着大小箱子赶去火车站,最后一段回家之旅:厦门到漳平,火车,贼慢的。

到了漳平后,瑞兰和她老公到车站接我。他们的结婚酒我没赶上,所以他们今晚请我吃一顿。来了八个人:川淼,淑艳,华钟,旭钰,我,还有一位不认识的美女。因为没能赶上好友的婚礼,心里很不好意思,于是喝了对我来说算是“挺多”的酒。没几杯下来,脑子就晕了。幸好喝的是红酒,若是啤酒,我早就跑厕所吐去了。其实,酒可以喝得很开心,缺的只是一个理由,不需太多矜持太多顾忌。但是我总是本能得关停自己,在觉得自己快要不行的时候。就如我为人,太过谨慎。是好,还是坏,不得而知。

饭毕到家已经十点多了。老妈和亲戚们还在家里等着,寒暄了一番,各自回去休息了。

这么一帮朋友,这么一家亲戚,夫复何求?!

5月9日

到家的第一天,适应中,见了很多人。一年半的小侄女已经变了大样,可爱精灵到不行。对我,她开始有些生疏,眼前的这位叔叔就是常在电话或视频那头出现的那位。不过,小孩子,你知道的,很快就熟了。家里有小孩,总是可以带来很多欢乐。

侄女


门前的铁树,今年长得很好。十一年前,高一,我在外头租房子。在房东家的阳台上看到一颗结果的铁树,便拿了一颗回家种着。本不指望它能发芽,种了一年多后,还真出牙了。之后辗转了几个地方,一直是小株。移到门前的花圃(或菜圃)之后,开始长得好起来了,尤其是今年,长了非常多的新叶出来。

铁树


小花圃


去看了老哥在漳平新买的房子,正要开始装修。从房子里能看到不少好风景,空气非常好。

5月10日

下了一个早上的雨,很大。我不讨厌下雨天,但它确实让人容易感伤,不知不觉地。有时候忍不住会去想自己的处境,想自己的目标,于是就感叹了。

下午去了外婆家,外婆现单独住在老宅里。那曾是我小时候常呆的地方。残破的墙上依然留着我小时候留下的杰作 – 用毛笔在白灰墙上写的不知道是什么字的字, 但只剩一点了,剥落了很多;后山的路已经不见了,这里曾是我的乐园之一;小时候认识的“朋友”也都搬走了,不知去了哪里;疼我的外公,已去世多年。外公去世以后,外婆精神出了点问题,人还是很清醒的,但话多一些。话多的老人特别容易讨人嫌。虽然我常会劝身边的人,也会劝劝外婆,但能做的也只有这么多。见着眼前的一切,回想起小时候的种种,直道“物是人非事事休,欲语泪先流”。

回家之后,到处玩了一阵。下午改完作业的计划泡汤了。晚上整完电脑,洗完澡,才得以安静下来,改了剩下的作业,并记了这篇流水账。

明天去龙岩陪老爸,可能会呆几天。

 

Categories: 行走之间 Tags:

还有两周就可以回国腐败了

April 20th, 2012 3 comments

心情比较复杂。第一,你懂的。第二,回去之前得把很多事办妥当了,包括论文和助教的课,还得准备签证的材料,所以最近比较忙。第三,就快回国了,计划着回去都要做些什么。

记些流水帐吧。

老爸又住院了,这次是因为黄疸偏高和肝问题复发。本以为之前的肝脓肿好了之后就会没事,谁想又出了问题。老爸血糖有点高,这个导致很多病症不好医治。医生说这次住院得一个月左右,我到家的时候,老爸可能还在医院里。今年流年不利,老爸遭罪了。老妈也很辛苦。这次回去带了一些能够降血糖的保健品,希望能有效。这次带了好多保健品,大部分是别人托我带的,两个箱子已经塞满了。

论文拖了半年,改了半年。到现在,主要的建模部分差不多定稿了,这两周内写完。其余部分一直都是处于第一个版本的状态,回国前来不及改了,只能回国后在家里找些时间看看。老板估计还是没时间看,得等到暑假。不过他也要回国一个月。所以应该得等到六月下旬回学校后再作详细修改,然后投出去。被这论文折腾地太惨,不仅打击自信心,还让人无法做其他事,得抓紧把它了结了。

助教的课到了期末,剩下的两周时间预计还有三个Quiz两个Homework要改。批改Quiz相对轻松,一次花上两三个小时。Homework就麻烦点,最近三次的作业都是编程,所以改的时候,我得跑程序,看代码。而且任课老师提出了新的要求,要在这三次作业上应用下组员互评得分机制。每个小组的成员根据各自的表现互相打分,一共分为九等,每一等对应一个数值。我得把每个人的平均得分和小组平均分算出来,二者相除得到一个权重系数。用这个权重系数乘以小组的作业成绩后便是每个人的最后成绩。过程其实不复杂,就是输入数据算分太麻烦。虽然用Excel能够省些计算上的活,但还是得输入数据,并做些小计算。不过,才这么点数据我就嫌麻烦,那些常年和数据打交道的人不得精神崩溃了。想想我就平衡了。

最近把Linux Shell那本书想看的章节都看完了,学到了新的东西,Bash Shell和Perl。之前只是略知,现在至少能看懂用它们写的程序。待我六月份回校后再复习一下,把书上的例子都跑一遍。APUE2e的练习止于第十一章,没有完成目标。只能等回校后完成,或者在家时把它补完了,我有这书的电子档,省去带书的痛苦。在家日子过得太逍遥也不好,回来会不适应,还是应该做些事,比如改论文,看论文,看书,写代码。毕竟有一个半月,能做很多事情,荒了就可惜了。

系里最近有人转硕了,中国学生,quit了PhD。以前只见过硕士转博士的,没见过反过来的。对于我自己的选择我还是很坚定的,不拿到博士学位不罢休,哪怕多花点时间。何况我都熬了四年了,胜利就在眼前,脑子进水了才想放弃。而且以后还得靠这博士文凭混饭吃,比如回国当老师。某天还和俩台湾朋友开玩笑说,等到我拿了博士学位,请叫我Dr. Zhu(朱博士)。现在已经很坚定海归的想法了,但不太可能裸归,除非有好的offer。还是得在这先工作几年再回去,一方面攒经验(对做IT的来说很重要),一方面攒钱(这边的工资比国内高),但不求绿卡,不想被这东西绑架了,我也不需要这东西。两手空空回去,对不起自己,也对不起别人。对愿意陪你同甘共苦的人,更是如此。觉得至少得给父母一个保障,先赚点去给他们养老,然后自己好放手去拼,闯自己的事业。

最近有点变懒了,症状之一就是懒得做饭。以前都是把肉切片,混着蔬菜炒。现在呢,直接买了薄的猪肉或牛肉,直接煎猪排和牛排。再随便烫点蔬菜配着。荤素还是有保证的,味道也都还不错。做菜其实可以很简单的,不会做的普遍是因为懒,而不是因为其他的,比如锅不好,料不正(没错,说的就是你)。

这次回国的一大任务是走亲戚,出来四年,错过了很多表格表姐的婚礼,得去认识一下。回国后,先在上海呆几天,办签证,和同学聚聚。然后坐动车去厦门,呆一晚,第二天就回家。至于要不要出去旅行,现在还不得而知,到时再决定吧。这次回国有很多期待呢,应该是次快乐的旅行。

南邮七十年校庆,搞得很拉风。微博和校内都被校友的各种校庆帖给刷屏了。我也正好借此机会,回忆下在仙林的三年,在三牌楼的一年。还没决定这次回去是否去母校走一趟,可能不去了。若干年后,叫上同学再一块去吧。

Categories: 博士五年 Tags: , , ,

ZZ 告诉你一个真实的基督教

April 17th, 2012 7 comments

从校内看到的分享文章,个人非常喜欢这文章,让你了解到很多历史信息,转了共赏。转发不是为了讨伐某一宗教,也不是为了讨论什么信仰问题,读者们请客观或主观地读此文。建议多关注文章中透露的大量历史信息。当然,对这些信息也请依据自己的判断来决定是否相信。

文章超长,慎入,尤其是用手机看博客的同学。本人就是用手机看的原文,到最后都快花眼了。

*************************分割线*************************

2008年国际金融危机,美国,英国,瑞士大批金融精英下岗。一日和在瑞士银行工作的德国老友喝酒,职位无忧的他从被裁的同事谈到这些国家的心理诊所和教堂生意火爆,然后一年坏笑的问我,知道世界上哪家公司历史最长,利润最高吗?我看到熟悉的坏笑,知道答案绝对是脑筋急转弯式的。果不其然,他的答案是:基督教教会!我好奇的问为什么。他细细道来:这教会有CEO,即教皇,有股事会,红衣大主教会,每个国家都有分公司,有各国分公司CEO,即每个国家的大主教,传销员遍布世界各地,即传教士,整个销售网络遍布全世界各个角落,严格按照科层制分工,最牛的是,无本万利,利润率超高,从耶稣出世到现在2000多年,一直不倒,而且越来越大,世界经济好的时候它的生意好,世界经济不好的时候它的生意更好,哪家公司有它这样牛逼!我听后不禁击掌大笑,连声说妙!

基督教的创始人名叫耶稣,也叫基督,本是和孔丘一样的私生子(人说私生子聪明,大概有些道理,不知有关专家们有没有研究)他妈妈玛利亚未婚先孕了,又不好说是谁干的,只好说是在野地里被上帝送了种子。(一笑,有信仰就是好,偷情也能偷得这么神圣。)这耶稣长到二十啷当岁的时候,忽然有一天向一起发呆的哥们宣称,自己就是上帝派下来带领大家去天堂的使者。

这里得向不甚了解基督教的朋友稍微普及一些基督教知识,以便大家更好理解这个帖子。

大家知道基督教有部圣经,圣经有分《旧约》和《新约》两部分,其实呢,这《新约》记载的才是耶稣诞生后的所说,所做,《旧约》是什么呢,和耶稣没关系,记载的是犹太民族的宗教希伯莱教的起始和故事,比如摩西受戒,出埃及记等等。希伯莱教起源于摩西,是世界一神教的开始。在此之前,所有的宗教都是多神的,几乎所有的生灵,物体都有神灵,比如土地神,宙斯,灶神,太阳神等等,等等,摩西始创了一神教,他的族人只能信一个神,即上帝。有一次摩西失踪了好多天,回到族人当中,发现又有族人在膜拜另外的神,大发雷霆,杀死了这些人。摩西宣称,因为希伯莱人只信上帝,上帝已经选中希伯莱族人,将会派使者在某一天到来带领希伯莱人升上天堂,而其他崇拜诸神的民族将留在将会毁灭的地球。而这个使者什么时候来呢,不知道,等待,当上帝觉得希伯莱人做的够好的时候,就会派使者来,带领他们上天堂。在此之前,希伯莱人必须听从摩西的话,摩西之后当然是他的继承人,希伯莱教长老的话。希伯莱人就在摩西和他以后的长老忽悠中等待了一两千年。

现在忽然有一私生子宣称他就是上帝派来带领人们升上天堂的使者,可以想象那些长老们是多么震怒,这简直就是抢饭碗嘛,最差也是不稳定因素啊。当时地中海地区都是罗马帝国的地盘,这些希伯莱教长老就去找当地的罗马总督,说,这耶稣妖言惑众,您不抓起他来,我们就造反。那时的罗马总督和现在中国的领导一样,稳定压倒一切,赶紧派人打听耶稣的行踪。其实这是的耶稣也没多少人信他,统共才13个信徒,可见那些希伯莱教长老多么警觉,和咱们的五毛党差不多。 Read more…

海阔天空,在勇敢以后

April 4th, 2012 2 comments

今天一大早起床,赶到系里听一位博士的论文答辩。主要是想预习下,事先了解下博士答辩是什么样子,有什么程序要走。四年前,我刚到这的时候,和他一起修过课。转眼四年都快过去了,明年就该轮到我了。准备好了吗?我不知道。似乎我又陷入了迷茫期,跟今天的天一样,找不到指引的光线。五年前的自己,在工作考研出国的三岔口徘徊时,毅然选择了出国这条路。那是第一次,自己敢于去面对未知的一切。没有人指路,没有人参考,自己通过泡论坛翻帖子慢慢搜集所有的信息。考试自己准备,文书自己写,学校自己找,材料自己弄。这份执着,或许是因为我觉得这么做可以让我一洗四年的“黑暗”岁月,或许是因为我觉得这是唯一可走的而我又想走的路。不管怎样,我坚持下来了,并达到了目标。当年的这份勇敢,是否还在我身上,已无从知道。我知道的是,现在的我没有达到四年前的预期。四年的时间可以改变很多,可以变得更世故更成熟,可以变得更认命更安于现状,可以变得更不安更期待改变。四年里我改变了多少,也许翻翻以前写的博客便能知道。但我不想,我不想被过去束缚,不想活在过去的期许中。人生总是在不停的转场,每一次的改变后是每一次的适应。谁能说这些改变是不好的,不到人生的最后一刻你都无从知道。每一次的改变,我都会作一次整风运动,整我自己,就如我现在所做的。算不上思考人生,还达不到那高度。所作的无非是回忆从前,展望未来,喊喊口号,表表决心。是否有用,我不知道,但我一直这么做着。我总是阶段性的选择一条座右铭,大学时的“If the dream is big enough, the facts don’t count”,曾用过的寄托签名“不知所措才是人生”,到现在的“人生就是不停的战斗”,以及未来可能的“海阔天空,在勇敢以后”。潜意识里,我想,我为每一次的改变调整了对应的心理模式。某一刻,突然觉得我肯定是选择了Hard模式,才会这般折腾,但我却又乐此不疲,理由就是我从没停止过折腾。说句文艺的,我想当我人生的开拓者、冒险家,不走寻常路,不做寻常事,诸多的不确定才让人生充满意义。说句普通的,我想有自己的路,有自己的事业,但还没有找到,并且还在继续寻找中。又到了该做抉择的时候,不论选哪条路,都要相信在勇敢以后会海阔天空。加油吧,为了不输给心中的自己。

Categories: 博士五年 Tags:

三省吾身

March 31st, 2012 1 comment

因为我自己的原因,给别人造成了很大的误解和麻烦,真心过意不去,真心对不起。虽然说这些已经没有什么意义,改变不了已发生的事,但希望事情能快点平息,让一切回到正轨。我自当三省吾身,好好反思一段时间。

bless。

Categories: 五味杂陈 Tags:

感谢

March 31st, 2012 No comments

老爸这次去福州作了检查,之前家人一直担心的问题,医生说没有大碍。笼罩在家人头上的阴云终于散去,皆大欢喜。终于没事了,感谢老天爷对我家的再次眷顾。从今天起,我当以十分之努力去回报,去感恩。

看了那么久的海贼王,深深知道,唯有变得强大,你才能保护好身边的人,不论是家人,还是朋友。人生亦或命运,不论是否已然注定,我也要把它过得酣畅淋漓。有一天,我希望能对你们说:这是我的地盘,你们都由我来保护。

Categories: 五味杂陈 Tags:

Be Tough

March 20th, 2012 No comments

怎么就不像以前一样豁达开朗我行我素逍遥自在了,变得这般多愁善感优柔寡断不耐寂寞。在美帝农村呆太久了吗?好好反省下。别整文艺青年那一套,咱要tough。要时刻记住:Tough Times Never Last, But Tough People Do!

Categories: 五味杂陈 Tags:

最近读的有关云计算和大数据的论文

March 19th, 2012 No comments

目前看的这些论文大部分是比较有名的,主要介绍一些新的技术(对我来说)。如果要想对Cloud Computing和Big Data有更深的理解,除了这些之外,还有很多论文需要读。读论文,如我老板说的,最好自己消化一下,写一篇review或summary。不过我现在都只顾着读,没什么时间写review。先把剩下的读完,之后再读第二三四遍,待我稍空下来或者心血来潮再补上review吧。

 

除了读论文,改论文(第五次修改了!),花了一些时间读书,《Understanding the Linux Kernel》和《TCP/IP Illustrated Volumn 1 2nd Edition: The Protocols》。Kernel这书我看得很爽,之前没有系统地学过,都是从其他书或课程中了解到一些,比如APUE2e,去年修的课CIS 722,还有这学期的TA课CIS450。看到一些书中细节,再联系以前的疑问,豁然开朗。APUE2e被我放了一段时间了,书看到了第14章,练习做到了第11章。暑假前要把剩下的练习完成了,至少得赶上看书的速度。

 

有一段时间没编码了,都光看书和代码了,心虚啊,这不是件好事。我觉得想当名成功的码农,得每天写写代码才是。我还差得太远,有待改进。

 

****************我是分割线****************

 

已看过的

The Google File System

MapReduce: Simplified Data Processing on Large Clusters

Bigtable: A Distributed Storage System for Structured Data

Dynamo: Amazon’s Highly Available Key-Value Store

ZooKeeper: Wait-Free Coordination for Internet-Scale Systems

PNUTS: Yahoo!’s Hosted Data Serving Platform

Apache Hadoop Goes Realtime at Facebook

Large-Scale Incremental Processing Using Distributed Transactions and Notifications

 

还没看的:

Above the Clouds: A Berkeley View of Cloud Computing

The Chubby lock service for loosely-coupled distributed systems

Tenzing: A SQL Implementation On The MapReduce Framework

Hive: A Petabytes Scale Data Warehouse Using Hadoop

Hbase: Non SQL Database, Peformance Evaluation

The Hadoop Distributed Filesystem: Balancing Portability and Performance

A Model of Computation for MapReduce

Scale and Performance in a Distributed File System

A Survey of Distributed File Systems

春天来了

March 13th, 2012 3 comments

最近一段时间比较depressed,原因很多,学习上的,生活上的都有。

学习上,论文已经改第五遍了,这次相对好很多,至少老板没有提出什么大的问题。虽然如此,我却已经感觉有点无力,可能因为战线拉得太长,可能因为这论文着实不好写。

生活上,最近发生了很多事,让我在深深地检讨作为一个“好人”,我过得是有多窝囊。我算是很为别人着想的人,但却没有几个人会为我着想。生活在这个社会中,难免不受到各种事各种人的影响,很多时候人们只是相互利用着,不管是有意识的,还是没意识的。

最近老爸身体不好,已住院快一个月了。我不能陪在身边照顾,只好每天打个电话回去,和爸妈聊聊。希望老爸身体快好起来,等我暑假回国带你们去北京玩一趟。和家人的幸福健康相比,之前的那些事又算得了什么,确实没有必要为那些事纠结。

暑假确定回国,这次打算在家多呆一段时间,大概一个半月,本周内就把机票订了。

春天真正地来了,草开始变绿,树开始冒芽。乌鸦的声音基本消失了,取而代之的是欢快得多鸟叫声。本周天气太好,心情舒畅。找个时间出去溜一圈,踏青。

最后,告诫自己:since they don’t give you a shit, then why should you give them a shit; 自私自利的人那么多,我也没必要装伟大;退一步想问题,宽容一点,海阔天空。

Categories: 生活点滴 Tags: , , ,

APUE2e Exercise 10.11

March 1st, 2012 No comments
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/**   
 * apue-chap10: exercise10-11.c
 *
 * Description: TODO
 *
 * Created On: Mar 1, 2012 
 *
 * @author: Huang Zhu
 *
 * @email: zhuhuang.zp@gmail.com
 */
 
//Run under Ubuntu 10.04. sig_intr is not called.
//But write returns a count of 24 when the destination file size reaches 1024 bytes.
 
#include <apueerr.h>
#include <fcntl.h>
#include <sys/resource.h>
 
#define BUFFSIZE 100
//SIGXFSZ
//signal_intr
 
static void sig_intr(int signo){
	printf("Signal handler sig_intr is called!\n");
}
 
int main(int argc, char* argv[])
{
	int n, w;
	char buf[BUFFSIZE];
	int fd1, fd2;
	struct sigaction act, oact;
	struct rlimit olimit, nlimit;
 
	if(argc < 3){
		printf("Copy contents from one file to another...\n");
		err_sys("Usage: ./a.out src dest");
	}
 
	if((fd1 = open(argv[1], O_RDONLY, 0)) < 0)
		err_sys("open error: %s doesn't exist", argv[1]);
	if((fd2 = open(argv[2], O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) < 0)
		err_sys("open error: cannot open or create file %s!", argv[2]);
 
	act.sa_handler = sig_intr;
	sigemptyset(&act.sa_mask);
	act.sa_flags = 0;
	if(sigaction(SIGXFSZ, &act, &oact) < 0)
		err_sys("sigaction SIGXFSZ error!");
 
	if(getrlimit(RLIMIT_FSIZE, &olimit) != 0) //get resource limit
		err_sys("getrlimit RLIMIT_FSIZE error!");
	printf("Current soft limit for RLIMIT_FSIZE: %d\n", (int)olimit.rlim_cur);
 
	printf("Set RLIMIT_FSIZE to 1024!\n");
 
	nlimit.rlim_cur = 1024;
	nlimit.rlim_max = olimit.rlim_max;
	if(setrlimit(RLIMIT_FSIZE, &nlimit) != 0) //set resource limit
		err_sys("setrlimit RLIMIT_FSIZE error!");
 
	if(getrlimit(RLIMIT_FSIZE, &olimit) != 0)
		err_sys("getrlimit RLIMIT_FSIZE error!");
	printf("Current soft limit for RLIMIT_FSIZE: %d\n", (int)olimit.rlim_cur);
 
    while ((n=read(fd1, buf, BUFFSIZE))>0)
        if((w = write(fd2, buf, n))!=n){
        	printf("write error: %d bytes were written!\n", w);
        	break;
        }
 
   if(n<0)
      err_sys("read error: %d bytes read from file %s!\n", n, argv[1]);
 
   sigaction(SIGXFSZ, &oact, NULL); //reset signal handler back to default
   if(setrlimit(RLIMIT_FSIZE, &olimit) != 0) //reset resource limit back to default
	   err_sys("setrlimit RLIMIT_FSIZE error!");
   exit(0);
}