Skip navigation.

静静的生活

卧隆中

见异思迁

今天才开始尝试googlepage,相当灵活。也许我会考虑经营自己的主页,而不是写BLOG。思考中...

铭 (always under construction)

这篇文章用来收集我见过,能激励到自己的语录和文章。
全部为转载。

>>>>>>>>>>>>>>>>>>>>>>>>>7 May 2007 摘自电影《我要成名》台词
我不知道我为什么喜欢演戏,可能是天生吧。但是现在演戏对我来说是我所有的一切:我的自尊,我的成就,我唯一比人强的地方。我知道为什么,我的戏比别人好是因为我不接受我跟其他演员一样,不管我演得好还是不好,我都不会跟他们一样。我很恨那些老是说自己是演员,然后就胡乱演戏拍完就走的人。
我不行,我不喜欢求人,从小就不喜欢,也不喜欢人家同情我。就是如果你觉得我潘家辉可怜,给他个角色那我谢了我不要,我宁愿不演。如果这样要我选,我选择死。我想继续演戏的原因是我觉得我要对自己有个交待,我要告诉自己,我是对的,我从小到大都觉得自己行。刚才那些话是我开车来的时候,在车上想的。

不管你怎么看我 做得好与不好
我都会尽自己的能力做好他
不对的也说对当没看见
我不行 以前不行 现在不行将来也是一样
无论你觉得我行不行都好 我就是行
>>>>>>>>>>>>>>>>>>>>>>>>>
洛克菲勒写给儿子的信:只有放弃才会失败

在我真实的记忆中,没有谁能比林肯更伟大。他编织了一段合众国成功而又令人动容的历史,他用不屈不挠的精神与勇气,以及宽厚仁爱之心,使四百万最卑下的黑奴获得解放,同时击碎了二千七百万另一肤色的合众国公民灵魂上的枷锁,结束了因种族仇恨而使灵魂堕落、扭曲和狭隘的罪恶历史。他避免了国家被毁灭的灾难,将一切不同语言、宗教、肤
色和种族组合成为一个崭新的国家。合众国因他获得了自由,因他而幸运地踏上了正直公平的康庄大道。

在我心中,林肯永远是不被困难吓倒、不屈不挠的化身。他生下来就一贫如洗,曾被赶出家园。他第一次经商就失败了,第二次经商败得更惨,以致用去十几年的时间他才还清了债务。他的从政之路同样坎坷,他第一次竞选州议员就遭失败,并丢掉了工作。幸运的是,他第二次竞选成功了。但接下来是丧失亲人的痛苦和竞选州参议员发言人的失败在等待着他。然而,他依然没有灰心,在以后的竞选中他曾六度失败,但每次失败过后他仍是力争上游,直至当选美国总统。

每个人都有历尽沧桑和饱受无情打击的时候,却很少有人能像林肯那样百折不回。每次竞选失败之后,林肯都会激励自己:"这不过是滑了一跤而已,并不是死了爬不起来了。"这些词汇是克服困难的力量,更是林肯终于享有盛名的利器。

林肯的一生书写了一个伟大的真理:除非你放弃,否则你就不会被打垮。

功成名就是一连串的奋斗。那些伟大的人物,几乎都受过一连串的无情打击,他们每个人都险些宣布投降,但是他们因为坚持到底,终于获得了辉煌的成果。例如伟大的希腊演说家德莫森。

他因为口吃,而生性害臊羞怯。他父亲死后给他留下一块土地,希望他能过上富裕的生活,但当时希腊的法律规定,他必须在声明拥有土地权之前,先在公开的辩论中赢得所有权。很不幸,因为口吃加上害羞使他惨败,结果丧失了那块土地。但他没有被击倒,而是发愤努力战胜自己,结果他创造了人类空前未有的演讲高潮。历史忽略了那位取得他财产的人,但几个世纪以来,整个欧洲都记得一个伟大的名字——
德莫森。

有太多的人高估他们所欠缺的,却又低估了他们所拥有的,以至丧失了成为胜利者的机会。这是个悲剧。

林肯的一生就是化挫折为胜利的伟大见证。没有不经失败的幸运儿,重要的是不要因失败而变成一位懦夫。如果我们尽了最大努力仍然不达目的,我们所应做的就是汲取教训,力求在接下来的努力中表现得更好就行了。

对一般人而言,失败很难使他们坚持下去,而成功则容易继续下去。但在林肯那里这是个例外,他会利用种种挫折与失败,来驱使他更上一层楼。因为他有钢铁般的毅力。他有一句话说得好:"你无法在天鹅绒上磨利剃刀。"

世界上没有一样东西可取代毅力。才干也不可以。怀才不遇者比比皆是,一事无成的天才很普遍;教育也不可以。世上充满了学无所用的人。只有毅力和决心无往不利。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
做事要全力以赴,因為很多事可能一生只做這麼一次,一個人一生也只年輕一次,這些道理年輕人永遠不懂,而老年人永遠懊悔,所以,如果你早點懂,你就贏了。
>>>>>>>>>>>>>>>>>>>>>>>>>

很久没更新了

生命有限,作一些真正有用的事,而不该把没有价值的东西搬上BLOG......至少,即便有人花了2,3秒瞟到我的BLOG文章,会希望这对那些真正有需要的搜索者来说,是值得的。

Feisty: SCIM和GNOME冲突太严重了吧

和FIREFOX的冲突我就不说了,今天兴致勃勃上来,用GNOME模拟终端的VI编辑了一大段话,想要写好了贴到这上面来,结果CRASH了,一大段话都没了,浪费我感情啊......太郁闷了。
算了,反正就想说一个汉诺塔问题,我也不想重新打了,换输入法!NND。

装了scim-bridge,情况改善了不少......

关于c语言中的'\n'和EOF

一般来说,我们总是使用回车('\n')来作为一个输入的终止命令,但是在用getchar()函数进行循环读入输入时,回车是一个输入字符而不是命令。所以,我们需要用到EOF来判定输入是否结束。
对于用户,这个命令用回车('\n')之后接一个CTRL+D实现。(Ubuntu 6.10, gnome模拟终端,cc编译)这样保证了每一行输入必须以\n结束......即使那个'\n'并不是测试者所期望的。(不然初始化那个计数器nl时就要用1而不是0了)。

问题开始于K&R的那本The C Programming Language的1.5.3 Line Counting,习题1.08的解答现在看来,那一段注释已经没有必要了。

Exercise 1-8
Write a program to count blanks, tabs, and newlines.

这个是answer book的解答,没有用switch语句。
#include <stdio.h>
int main(void)
{
  int blanks, tabs, newlines;
  int c;
  int done = 0;
  int lastchar = 0;
  blanks = 0;
  tabs = 0;
  newlines = 0;
  while(done == 0)
  {
    c = getchar();
    if(c == ' ')
      ++blanks;
    if(c == '\t')
      ++tabs;
    if(c == '\n')
      ++newlines;
    if(c == EOF)
    {
      if(lastchar != '\n')
      {
        ++newlines; /* this is a bit of a semantic stretch, but it copes
                     * with implementations where a text file might not
                     * end with a newline. Thanks to Jim Stad for pointing
                     * this out.
                     */
      }
      done = 1;
    }
    lastchar = c;
  }
  printf("Blanks: %d\nTabs: %d\nLines: %d\n", blanks, tabs, newlines);
  return 0;
} 


中间注释的那一断,现在看来已经没有必要。因为CTRL+D之前必有\n的机制保证了没有例外,除非在别得OS上面。
下面是我的解答:

main()
{
 int blanks=0,tabs=0,newlines=0;
 int c;
 
 while((c=getchar())!=EOF)
        switch(c)
                {
                case ' ':++blanks;break;
                case '\t':++tabs;break;
                case '\n':++newlines;break;
                }
 printf("blanks:%d,tabs:%d,newlines:%d.\n",blanks,tabs,newlines);
}


Read more...

Monty Hall Problem

在阅读'Algorithms in C'第二章,薄弱的高等数学知识背景,让我感到了巨大的压力......转而去珞珈山水的数学板块寻求指点。很偶然的一个机会,看到了这个与概率有关的Monty Hall Problem.

这个数学问题的描述是这样的:
假设你正在参加一个游戏节目,你被要求在三扇门中选择一扇:其中一扇后面有一辆车;其余两扇后面则是山羊。你选择了一道门,假设是一号门,然后知道门后面有甚么的主持人,开启了另一扇后面有山羊的门,假设是三号门。他然后问你:“你想选择二号门吗?”转换你的选择对你来说是一种优势吗?



BBS上没有明确的给出分析,我在互联网上找到了解答。

Mueser 和 Granberg 透过在主持人的行为身上加上明确的限制条件,提出了对这个问题的一种不含糊的陈述︰

参赛者在三扇门中挑选一扇。他并不知道内里有甚么。
主持人知道每扇门后面有什么。
主持人必须开启剩下的其中一扇门,并且必须提供换门的机会。
主持人永远都会挑一扇有山羊的门。
如果参赛者挑了一扇有山羊的门,主持人必须挑另一扇有山羊的门。
如果参赛者挑了一扇有汽车的门,主持人随机在另外两扇门中挑一扇有山羊的门。
参赛者会被问是否保持他的原来选择,还是转而选择剩下的那一道门。
转换选择可以增加参赛者的机会吗?

解答
问题的答案是可以:当参赛者转向另一扇门而不是继续维持原先的选择时,赢得汽车的机会将会加倍。

有三种可能的情况,全部都有相等的可能性(1/3)︰

参赛者挑山羊一号,主持人挑山羊二号。转换将赢得汽车。
参赛者挑山羊二号,主持人挑山羊一号。转换将赢得汽车。
参赛者挑汽车,主持人挑两头山羊的任何一头。转换将失败。
在头两种情况,参赛者可以透过转换选择而赢得汽车。第三种情况是唯一一种参赛者透过保持原来选择而赢的情况。因为三种情况中有两种是透过转换选择而赢的,所以透过转换选择而赢的概率是2/3。



常理推断,大家应该都会觉得,应该没区别吧,但结论为什么是...?其实,在我看来,这就是一种命题上的“诡计”(cheat)。
这个问题的命题实质是:转换命题的得奖几率 vs 不转换命题的得奖几率。主持人的动作是根据你的最初的选择而决定的,这意味着,一旦你最初的选择确定,主持人开启一扇门之后,命题是发生了变化的。

通俗的解释:你的最初选择命中汽车的几率确实是1/3;主持人开门的选择建立于你的选择;主持人开门之后,命题发生了改变;在这个命题下,另外一扇门是汽车的几率是多少?通过引用的逻辑分析,得出2/3。

所以,实质是:2种不同的先题条件下,某一事件概率的大小比较......说白了,逻辑,很大程度上就是在玩文字游戏(命题游戏)。

回到原点?

培训的日子一天天临近,却感到有些茫然无助。最近想的太多,想要达到的目标也很多,可自己丢掉一些东西太久,想要一下子捡回来可不容易。加上天气的变化,多少让我觉得有些恼怒,的确是过于着急了。幸运的是,英语的听写一直在进行,这里成就感比较明显,看来我还是在语言方面更有天赋。

接下来,设置一些实际点的目标吧。读完K&R的The C Programming Language应该是最重要的,然后是继续练习使用vim编辑器和LaTeX。似乎应该每天抽2个小时重学微积分,其他方面,以后再说。

List of Books:

The C Programming Language 进行中

IBM PC汇编语言程序设计 进行中

自己动手写操作系统 计划中

计算机操作系统 计划中

Algorithms in C 计划中

编译原理 搁置中

于心何忍

今天看到Ubuntu的ShipIt的网页恢复了,可以免费申请Feisty Fawn的光盘。因为Edgy没有派送,我以为是Canonical考虑到成本问题,放弃了,没想到......
不过这次没有像Dapper那样,默认一次5张cd那么夸张。其实我们大多数人一张cd就够了,Canonical支持Ubuntu也不容易,帮他们省点钱,就当作是为了Ubuntu作点自己的贡献好了~~~

今天把Beryl装上了...

下午和朋友扯Linux,最后把别人制作的show Beryl 视频搬了出来。导致的结果就是,在朋友的极力怂恿下,我也终于体验了一把3d桌面。

可能因为源里面的版本也不高吧,而且我也不是很懂,所以效果还是比不上youtube视频上的。我唯一觉得很有意思的地方,就是Emerald主题,把窗口的关闭按钮和最大化按钮距离拉开了不小。相信用过windows, x-windows的朋友,都有过鼠标点太快,不小心把还有用的窗口关闭过的经验吧?这是我觉得设计者很贴心的地方,不过我的第一印象是不够整齐,接着才会去问自己why。所以,这也是矛盾的地方,美观和实用的冲突?

又格盘了~

今天上网看了一些对各种文件格式讨论,发现觉得reiserfs好的人多数是因为突然断电导致的系统灾难。
笔记本电脑因为有电池,不怕突然断电~~这是我觉得很得意的地方。经常在突然断电或者电压不稳的时候,看着朋友们崩溃的表情,颇有点幸灾乐祸的心理。这样看来,reiserfs 似乎对我也无多大意义,当初要不是在ibm开发文档页面上看到一篇阐述reiserfs如何如何优秀的文档,我的/dev/hda4现在大概还是fat32格式吧,为转化格式还忍痛丢了不少mp3和mv...哎,谁叫我硬盘才40G。
很多人提到的加载时间长,是我比较在乎的地方。因为太懒,也不想去深究究竟加载速度上,reiserfs比ext3慢多少,就把/dev/hda4又格成ext3格式了,没费多少力气。
修改好/etc/fstab 文件之后,重启,基本感觉不到变化,想想多少有些浪费感情。

C++ Primer看到第五章语句部分,暂时不准备再看下去了。有点后悔买了高等教育出版社的那本数据结构,倒是我们大学时用的薛超英写的那部教材还真的不错。教人知识的书,本来就应该写得越简单越好。
我发觉有些写书的人有个怀习惯,喜欢把简单的东西复杂化,好像写学术文章就是码一堆晦涩难懂的公式+专业术语,最好唬得门外汉一愣一愣的,不如此不足以显示出自己是作学问的。实在不忍继续看那用模板和ADT,ADL正儿八经写出来的对数据结构的描述了...何况因为我c++基础不好,还要看C++ Primer,但是中译版上的错误还颇多,让我觉得很被动。于是转而想看用比较简洁语言描述的数据结构和算法,对我而言,lisp,c,pascal似乎都是不错的选择。
上google搜索了一下,很多人都推荐Robert Sedgewick 写的 Algorithms in C 。Robert是Knuth的学生,他写的这一系列算法教材,用c,c++和java都有实现的版本,源代码可以从他在Stanford的主页上获得。看起来挺不错的,虽然名为算法,但是数据结构也都有讲,这对我可是一个诱惑。
奋力在网络上找了一圈,没有发现PDF电子书,emule上倒是搜索到了用c++实现版本。可是看着36M大小的PDF文件,不禁让我想起了那些扫描出来东倒西歪的东东......于是毫不犹豫的决定去书店买回来。

从书城路回来,手里已经提了2本厚厚的Algorithms in C了。找不到中文译本多少让我感到沮丧,可是英文原版的印刷排版质量真是没的说(我确信Rober Sedgewick是用TeX排版的,因为这格式和Knuth的texbook几乎一模一样。),在确信不会在阅读上发生困难之后,我把心一横,买了......

我不指望看完这2本书之后就能成为一个高手(因为怎样看来,我都是一个没入门的笨鸟,而且年纪也不小了...),只是希望它能帮助我建立起更好的数据结构和算法的概念。同时,我也能更愉快的读完那本The C Programming Language了。
December 2009
M T W T F S S
November 2009January 2010
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