2006年2月4日星期六

最近遇到的问题

春节这几天,除了探亲访友,就是解决一系列的 Bug。我发现,用 CreateFile 打开一个分区后,再用 CreateFile 打开同一分区下的一个文件,并修改它,这时,再用 WriteFile 操作这个分区的 FAT,将无法实际写入分区——即使用 ReadFile 读出数据确认确实修改了,但实际数据并未修改。对于这个问题,可以在修改文件之前先用 CloseHandle 关闭分区,再在修改完文件后打开分区。

另外,如果在打开文件(CreateFile)时没有加 FILE_FLAG_WRITE_THROUGH 参数,还会有一点其它问题。经常是在程序中修改了文件内容,再读文件的 Short Directory Entry,发现其中的文件大小仍然是修改前的大小。似乎用 FlushFileBuffers 可以把系统缓存写回磁盘,但我没成功。另外,好像 CreateFile 打开分区,不管加不加 FILE_FLAG_WRITE_THROUGH 都默认是不是用缓存。

总之,感觉通过 CreateFile 直接操作磁盘确实很方便,但是也有互斥上的问题,因为 CreateFile 要求打开分区必须加上 FILE_SHARE_WRITE。通过中断操作磁盘应该就不会有这样的问题,但是那就比较麻烦了。

2006年1月2日星期一

热情与依恋

最近在看《简爱》。刚看到第 27 章婚礼落空那里。想到的一点是,人们常常对某些东西产生热情,在这种狂热的情绪下,人们一般都回顺着自己的感情走,一味的认为“非做这件事不可”,很少或者从来没有去想过“如果不……”的情况。无论对于男人还是对于女人来说,在这种时候失去理智都是很危险的事,而女人尤其危险,因为在大多数情况下,女人扮演的是被动的角色,一旦事情发生的变化,她们往往难以靠自己的力量挽回。

大多数人似乎都很怕去想“如果他(她)想和我结婚仅仅是一时冲动那么会怎样呢?”这类问题。他们缺乏勇于质问自己,怕这样会使本来美丽的幻想破灭。其实,正常人在面对突如其来的好运时都会犹豫,人们早已习惯圣经里面的奇迹决不会发生在自己身上。对于太好的情况抱有怀疑是好事,但是在经过初步的判断而没有发现问题时,大多数人更倾向于放心地享受。侥幸心理几乎人人都有,而侥幸的事却很少发生,以至于发生很多悲剧。

举个例子,大一的时候,我曾经对宗教很感兴趣。对于我来说,要研究宗教最好的对象就是基督教,于是我托在加拿大的姨妈帮我买一本英文的圣经。我承认,对于基督教,那时的我并不比我现在了解地更多,简言之,了解很少,买圣经仅仅是我一时的冲动,这在我拿到那本圣经的两个小时里得到了验证。无疑的,我把这本圣经搁置在书架上很久。问题在于,我虽然不像一个基督徒那样每天捧着它日课夜课,但每逢在小说上或者其他媒体上看到圣经上的名句时,我也一定把它拿出来找到原文。慢慢的,对它了解虽然很少,但总归还是有加深了。

关于这个例子,我想说,对于一个热情,人们往往认为它能保持很久,比如经常听到那些流行歌曲里面唱到的“爱你一辈子”。但事实上,热情总是会在很短时间里面消失,这种时候,大多数情况是这个人认为他当初的热情是一个错误,然后从此不再去关心这个热情施加的对象。但是,在少数有缘份的情况下,他并没有完全抛弃它,取而代之的是长时间里对这个闯入生活的新事物的慢慢的认识,慢慢地找到它(他、她)的价值的真实所在,和当初吸引我们的真正的地方,慢慢地找回当时的热情。

我认为,热情从来都不是没有意义的,重要的是如何去对待它。

2005年12月29日星期四

最近研究文件系统

因为还是想参加下次的软件大赛,所以最近差不多在开始准备了。涉及的主要技术是关于文件系统的。我希望能自己去修改 FAT32 的 FAT,文件属性域等等,使得能实现用 API 无法实现的功能。现在考虑地比较多的是两点:1. 我这样做是不符合微软公布的标准的,怎样才能使这样的修改不被磁盘工具判断为错误;2. 直接修改磁盘固然很强大,但是也很危险,如果改错了项,几乎是无法恢复的。

以后再慢慢写关于这方面的进展吧。

2005年12月24日星期六

最近的情况

这学期变化很大,变得很内向了,很少和班里的人接触。这样做并不是因为我怕和人接触,就想我原来那样,怕别人看不起我,怕别人嘲笑我,而是因为我觉得没有接触的必要。至少我觉得,我现在足够地独立,足够地成熟,已经慢慢能自己照顾自己,能自己找到自己的角色。小的时候,我很怕接触别人,很大程度上因为父亲的原因,但同时又怕离群索居,因为那样会感到孤独和无助。一个小孩子,一个人能做什么事呢?他没有任何能力照顾自己,养活自己的。小孩子也是有理智的,他知道离群索居的危险。

现在,我更多的是去关心自己的事,而不是别人的眼色。我更多的是帮助别人,我讨厌去“求”别人的帮助,因为我的命运得由别人来决定。这也是我从小很好强的原因。也许是父母和家庭环境的影响,我从小不爱作弊,使心眼,这样我为了获得好成绩,必须有比别人更强的能力。我知道,有些人只要利用那张灵活的嘴就能活得很舒服,我则需要在实际能力上远远超过所有人才能让自己活得舒服。

这几天晚上回宿舍,推车走过那个上坡路时常常去看月亮。路灯一般是没有亮的,月亮也异常的美。要是没有月亮,这段路就十分黑暗了。我觉得,我喜欢这种黑暗,因为黑暗让我感到安全,在黑暗中,没人知道你是谁,没人知道你在做什么,没人知道你在想什么。同样,我喜欢安静。记得大二上学期,也是那个寒假回家,一天晚上,一个人在成都的街上走,那种冷清的感觉很难用言语来表达。我觉得那才是成都本来的样子:安静,闲适,慢节奏。还记得高考前的那段冲刺,晚上 1 点钟了,一个人坐在书房里看书,也是一、二月份的冬天,窗外一片黑暗,一片安静,整个世界里好像就只有我一个人了。

很多人怕黑暗,怕冷清,大凡文学作品里面,喜欢黑暗的角色也往往不会有好下场。我呢,觉得这两样使我能真正放下面具,叩问自己的内心,孤独,我早已习惯了。

2005年12月18日星期日

插件式编程

最近下载了一个软件,Babylon,很著名的翻译软件。

以前一直用金山词霸的。最近因为需要德语的翻译,金山词霸就做不到了,又懒得每次去找代理上线上翻译网站,所以找到了这款软件。这款软件好就好在,他的词库是按照插件的方式和主程序整合到一起,所以只要添加了词库,就等于多了一门语言。而如果想要改进软件本身的功能(如支持通配符,列出所有可查词汇,这在用户记不清词的准确拼写时很有用),只需要修改主程序即可。这样降低了程序模块之间的耦合度,也就增加了程序的灵活性。而且,Babylon 提供词库制作工具,使得用户们能够创造自己的词库,大大增加了软件的生命力。这也是拜开放的架构所赐。

写到这里,我想到了 Eclipse,同样也是一个插件式的 IDE。我本人不使用 Java,所以对 Eclipse 也不是很了解,不过从《程序员》我还是能看出,Eclipse 很成功,原因也是在于它先进的理念和开放的架构。似乎在这个时代,软件只有开放了才会有生命力。

我在想,其实一个计算机系统本身就是一个插件系统,操作系统就是主程序,而用户程序就是符合操作系统提供的接口的子程序。Windows 和 Linux 的不同在于,Windows 的主程序是封闭的,由 Microsoft 来负责维护,而 Linux 就连它的内核都是开放的。程度上的不同决定了软件本身的性质。

但是,正如我在第二段里面所说,“如果想要改进软件本身的功能,只需要修改主程序即可”。问题是,由谁来修改主程序呢?Babylon 可以由 Babylon Ltd. 来改进它,Linux 由谁来改进?Linus?Ecplise 呢?IBM?开源软件最大的特点在于它不是属于某一个人或某一个组织,它属于任何对它感兴趣的人们。那么,如果 10 个人对它感兴趣,那么软件前进的道路就有 10 条,从这点看,原本开源希望的将众人的力量合起来开发软件,反而分散了软件的开发者们,因为大家都没有一个领头羊。我在想,如果 Linux 从一开始就没有什么 Rad Hat,没有 Fedora,而是把这些公司里的人才们合到一块儿去开发 Linux,那么 Linux 还会是现在的样子吗?

我不反对开源的理念,但我觉得,群龙无首是不行的。

2005年12月11日星期日

人与人是不同的

越来越深切地发现,人与人之间的差异是那么的大。从小没有父亲的我,总是很自卑,总认为自己做事的形式和方法比别人的欠缺,没有别人的好。这是潜意识里面的一种感觉,虽然外表随着年龄增大和知识增多,越来越显得自信和骄傲,但心底深处仍然觉得我不如别人,那个虚构的、抽象意义上的人。我总是觉得,随大流,干大多数人干的事情,虽然自己不愿意,但至少会有安全感,至少不会被别人认为是另类。我害怕那种异样的眼光。

不太清楚具体从什么时候开始,我开始感觉到,很多大多数人的所作所为其实根本不适合我,而我就算按照自己的方式做事也不会受到伤害。我逐渐意识到,我长大了,我已经有了保留自己个性的权力了。人与人之间的不同是如此之大,似乎每个人都应该想想自己做每件事是否是出于自愿的。往往,我会羡慕某人是如此的善于交际,现在转念一想,他就是他,这是他的生活方式,不是我的。我,在很长时间里,是一个程序员,一个爱乐人,一个思考者,一个独一无二的组合。

我觉得,现在的我,就像是摆脱了缰绳的马,终于又打开了被父亲的死加上的另一把锁。

2005年12月7日星期三

最近的两点感想

1. 为什么人们总是喜欢家?为什么家总是有着那么一种特殊的吸引力?抛开其他的原因,我想,最重要的是,家常常代表着亲人,友人,熟悉的环境,熟悉的生活。同时,如果家没有了亲人,没有了朋友,那么,家也就失去了大多原来的意义。我想这也可以解释为什么莫扎特对曼海姆的喜爱甚于萨尔茨堡,因为曼海姆人喜欢他,喜欢他的音乐(当然还有韦伯一家),而萨尔茨堡,只有大主教。

2. 女性更大程度上还是一种感性的,如一个朋友说的,男人总是试图从他们自己的角度去理解女性,但结果常常是错误的,而且是不幸的,因为他们没有意识到,他们的理性思考在女性上常常是行不通的。一个女人爱一个男人,可能根本不会去思考这个男人会带给她多少好处,仅仅因为对他有好感,仅仅因为一种冲动。而男人一般首先是想这件事对自己有没有用。当然,不否认也有些女人是很理性的,但是我不会太喜欢这种类型,可能感性本事,不同于男人,才是女人可爱的本质吧。

2005年11月22日星期二

难得的闲暇

今天中午去修自行车。在那里等师傅修的时候,一个人坐在那里,看着那个湖面,那些小草,那个碧蓝的天空,吹着小风,突然想到,现在这样什么都不用去思考、什么都不用去顾虑、完全无所事事的闲暇已经那么得少了。

修车师傅的小孩在那里玩着轮胎,看着他,我想到自己小的时候也是那样,做着现在觉得幼稚无比的事,却能从中找到无比的乐趣,相比起来,现在的我活得真的太累了。再想想以后大学毕业了,需要整天为生活而奔波的日子,似乎小时候的那种闲暇可能只能等到老来才有可能重拾了。说实话,现在的我,确实无法控制自己在有空的时候不去思考计算机的问题,思考生活的问题,我也早已有些厌烦了。

现在,对老人们可能又有了一些新的认识吧,他们走过了几十年的人生道路,经历了各种各样的是非,在老了有机会的时候,选择了自己认为最适合、最喜欢的生活方式,消磨人生的最后时光。好吗?令人羡慕吗?不好吗?不令人羡慕吗?

托福也考完了,虽然感觉作文考砸了,但心底深处还是隐隐约约有一点成就感的,毕竟,自己的英语水平也由此提高了一些。

2005年11月17日星期四

最近的情况

总的来说,虽然没有什么大的变化,但我觉得现在的我总是在逃避,总是告诉自己不喜欢就不要去做,以至于现在的生活变得非常单调和形式化。我不知道这是不是大三学生应该有的特点,至少,我不喜欢这样。

似乎越来越受到广东这个大环境里面的一些思想的影响,虽然这些思想我认为无可厚非,但我个人不喜欢它们。现在,思考自己的时间越来越少了,更多的实在考虑更实际、更世俗的东西。上个星期花了两天去买了一辆破自行车,这周又努力复习托福,可能下周又是泡在宿舍里搞 Linux。这一切我为的是什么?为的就是尽量少去想那些不愿触动的东西,就好像刚失恋或者刚死了亲人的人总是拼命地工作一样。我从来没想过我会变成这样,我也不希望自己变成这样,但看来,人还是很容易受影响的。

现在听音乐更加专注于那几首曲子,巴赫的 BWV 1057(第六钢协?),布鲁克纳第七交响,还有拉赫玛尼诺夫第三钢协。管很久没练过了,给自己找的理由是等托福考完再说。现在想起来,大一那时虽然是最傻的,但也是这么几年里活的最轻松最快乐的,不是学习任务或者其他的什么少,而是心理的压力最少,幻想破灭地最少,也最像高中时那个纯洁的自己。

可能人确实不得不随着年龄增大而改变。但愿这是“不得不”的吧。

2005年11月4日星期五

上帝的惩罚?

看来星期二的疯狂工作导致了到今天还在持续的头昏脑涨,脑部缺血。一整天人昏昏沉沉没精神,偏偏又没有任何其他的症状。今天从医院回来的路上,突然想到,这可能是上帝的惩罚。

对于每个人来说,时间都是相同多的,但每个人完成的事却不一样多。努力的人,聪明的人,在相同的时间能就能做很多事。然而,上帝是公平的。你不能超越别人太多,他不能容许这种极端的不公平出现。天才很少会遗传,天才也很少会长寿,否则,大多数的人就没有什么存在的价值了。上帝是公平的。

我想起了父亲,也是年轻的时候很刻苦,很努力,做到了绝大多数人无法想象的事。正打算在 30 岁以后大干一场,成就一番事业,上帝却看不过了。他或许是太努力了,把他的天才使用得太过度了,上帝告诉他:“凭什么你要在这么短的时间里面完成那么多事?既然这样,我就得让你生病,让你不能再做出成绩,直到你赎清了你的债。”无奈,他是太刻苦、太天才了,直到死的那一天都还不完。

我得出的结论是,上帝可能不公平(否则,他干嘛又麻麻烦烦要造出那么多天才来?大家一个样不更好?),父亲可能的确是寿终正寝,但有两件事是要记住的:一、什么事都要慢慢来,切不可急躁;二、每操作计算机一个小时,就要起来活动一下,疏络经骨,否则搞计算机这一行,短命。