2005年05月19日

我发现,把一些话收集起来会很有意思,先尝试一下。

关于软件维护方面的:

  • “从来就没有什么‘已完成’的计算机程序”——Lehman
  • 被使用的程序,以及作为规格说明实现的程序,反映出某种现实性,经过持续更改,或失去有用性。更改或退化过程一直延续,知道人们认为采用重新创建的版本替代原有系统更经济为止。”——Lehman
  • “结构不好的程序就像一满盘意大利面条。如果一根被拉出,就会在盘子的另一边看到其他面条,是神秘的混乱和突变的局面。”——Rushby
  • “最昂贵的解决方案常常不是最佳方案”——Edward Guy
  • “……程序员……倾向于把程序开发看作是一种猜谜,当他们成功地完成一段很难地代码时,就是对自我地再肯定。另一方面,软件维护包含很少创新,因此被认为是枯燥、不令人激动的检测工作。”——Higgins
  • “程序员已经变成半个历史学家、半个侦探和半个预言家。”——Corbi
  • “有效的程序表示,可使好的程序更可理解,差的程序更加明显。”——Baecker & Marcus
  • “如果你不知道自己所处的位置,就不能确定自己是否再原地打转。”——Pickard & Carter
  • “最好的测试员不是发现程序错误最多的人,也不是最能使开发人员感到尴尬的人。最好的测试员使最能够使程序错误得到改正的人。”——Kaner
  • “好的实践取决于尝试,但是如果真的像听起来那样容易,就绝对不会有那么多的项目走弯路了。”——Grubb & Takang
  • “没有比发起改革更难以策划、成功更没有把握,实施起来更危险的工作了”——Machiavelli
  • “工具不会超过使用工具的用户。”——Grubb & Takang

因为最近正在做一个软件项目的再版工作,所以对于软件维护方面比较上心一点,最近读了一本书:《Software Maintenance: Concepts and Practice》感触比较多。尤其是书中引用的这句话让我很有同感:“程序员已经使半个历史学家、半个侦探和半个预言家。”再软件维护和再版过程中,我确实正在成为历史学家,侦探和预言家的合体。不容易啊!

2005年05月17日

看到题目可能有的朋友认为我在提醒大家小心被别人剽窃,但是我下面要写的是,小心不要剽窃别人。

我没有在讲笑话,严格意义上说,我们在国内学术期刊上面看到的,包括一些比较有地位的期刊上的论文,他们都在剽窃。

剽窃这个帽子可不小,在学术界,剽窃意味着失去一切,退学,开除,处分,除名等等都和剽窃挂钩。我怎么敢把这样大的一顶帽子扣在如此大量的文章上呢,甚至有些是教授们的大作。

请注意一点,如果一片文章的后面注有一定量的参考文献,而文章中却见不到一个引号、注释的,在规格上说,就是剽窃。很遗憾,我的本科毕业论文尽管写了注释和引号,但如果拿到国外大学我一定会因为剽窃被学校除名,因为我在参考文献中写上了我没有用到的资料,这些资料在我的论文中没有引用却列了出来,意味着我在弄虚作假。不仅是我,大部分的同学都迫于学校的硬性要求(15篇中文参考文献,10篇英文参考文献)而弄了虚做了假……

我不是耸人听闻,我也是刚刚才明白这些就是剽窃,而剽窃不仅仅定义为抄袭。还要谢谢我的英文写作老师,他今天在课堂上大声的强调了NN遍:“我的表弟因为论文中注释和参考文献的问题,被英国的学校除了名,任何的证书也没有拿到,而每年1万2千英镑的学费换来的是剽窃的罪名”(注意我这里用了引号,别人说得话拿来用也要注明,否则可能会有麻烦……PS.原话记不太清了,这个是转述)

而老师让我们记住会被看作是剽窃的几种情况,要万分小心!


Actions that might be seen as plagiarism
  • Turning others work as your own || 把别人的工作据为己有
  • Copying a paper, an excerpt, a paragraph or a line from a source without proper acknowledgement || 从某个资源复制了一篇论文,一个摘录,一个段落甚至一行文字而没有版权声明
  • Copying materials from a source supplying proper document but leaving out quotation marks || 引用了一个来源的材料,且提供了版权文档,但是没有用引号
  • Paraphrasing materials from a source without proper documentation || 把一个有来源的资料转述,却没有给出版权文档
  • Buying a paper from a research service or a commercial term paper mill || 从一个研究服务机构或者商业论文公司购买论文
  • Sharing or swapping from a local source || 共享或者交换本地资源(指在同学同事间的引用)
  • Creating a fact that donot exist || 弄虚作假

在国外的论文写作辅导中,最强调的一点就是avoid plagiarism 避免剽窃。我们也应该好好学学怎么治学,怎么写论文了。被外国同行看作剽窃可不仅仅是丢脸的问题了。

可以参考的一些资源(我没说他们是我的参考文献):
http://www.georgetown.edu/honor/plagiarism.html
http://sja.ucdavis.edu/avoid.htm
http://www.indiana.edu/~wts/pamphlets/plagiarism.shtml
http://owl.english.purdue.edu/handouts/research/r_plagiar.html
http://www.northwestern.edu/uacc/plagiar.html

晕了,现在写点东西感觉诚惶诚恐的……

2005年05月13日

最近几天大人物们得blog上都写上了类似blog成了“任务”、没劲Blog该不该放假?东拉西扯:任务、放假与跑步写blog为什么不可以当成任务?需要每天都写blog吗?这样题目得文章。似乎大家在一起思考Blog得意义和方式,然后又不约而同得结论继续Blog。其实经常订阅Blog的人不难发现,关于这种Blog的意义方式的讨论几乎是Blogger周期性的话题。每隔一定的时间就会有一部分人提起这些事情,虽然算不上月经贴,但也差不多了。

从中间折射出来的是坚持Blog的不容易,同时也表现出了一些内心的挣扎。人都是懒惰的,写Blog再怎么说也比坐在沙发上看电视要累一点,而坚持做每件事情又都是困难的。于是坚持用业余时间来写Blog的意义和方式特别重要了,究竟为什么要写Blog,一种任务,一种休闲还是什么东西?

会坚持写Blog的人依旧会坚持下去,不会因为这样的争论而动摇,哪怕他们说不出来,写Blog对于他们每个人来说必定有特殊的意义。不一定是收获,但一定是有意义的。而不会坚持的人,在要继续坚持的人讨论这些的时候早就放弃了。像我的一些同学,断断续续写了几天,几个月或是因为有事情耽误,或是因为失去了热情,最终都不再更新Blog了。

Blog对于我来说更多的是一种任务,我不像牛人们一样能从写作中得到快感,加上文笔烂的夸张,大概也不会有什么人来看我的Blog。我的Blog的意义就在于对我自己的承诺,我要在坚持Blog的过程中得到一些我没有的东西。第一,是对思绪的一种记录,与其让这些思绪一闪而过,到不如记录下来,将来还能看看笑笑。记得我曾经为找到初中时期被老师强迫写的日记而高兴了许久,尽管是写给老师看的,但是也记录了历史,现在看来很有意思。第二,是一种锻炼,正是因为我写作不好,才要写,而且要写给别人看,最好能得到别人的回应,如果有人认可,那就是一种进步。文章就是写给别人看的,是传播思想的手段。而最近看到的2005年5月的《程序员》上的文章《给计算机系学生的建议》[1]中,有这样一些话更是证明了我的想法:

…… Linux的成功在于Linus精通协作,他知道如何准确的在Email和邮件讨论组中使用书面语言来表达自己的思想,所以他能够从全世界召集大量志愿者为Linux工作。……

…… 一个合格的程序员和一个伟大的程序员的区别不在于懂得多少种编程语言,不在于他们是喜欢Python或者Java,而是在于他们是否善于表达。他们能够说服他人,所以他们获得权力。……

……我不会雇佣一个不懂写作的程序员……

……给自己建立一个网志,在上面写的越多,你会写的越容易;写的越容易,你就写的越多。这是一个正向的循环激励。……

顺便一提,今天看了王建硕我写blog的三条原则,里面提到:

……非得停顿,先贴个OOB(Out of Blogging)出来……

想到自己因为周末要考试,一直到星期二才有时间继续Blog,OOB是一个好的方法和建议,我决定学习这个方法,从这次间歇开始。(以前的就不补了^_^)

[1] Joel Spolsky.  http://www.joelonsftware.com  



2005年05月12日

在几年前,不知道是哪位牛人提出了印度的软件大国地位。全国的IT人都议论起来,就好像从来不起眼的邻居老谁家那小谁突然考上了清华一样。看别人赚钱红了眼的中国公司开始研究印度模式,希望中国软件业大发展的有识之士也开始研究印度模式,学习印度似乎成了近几年中国软件行业的主旋律之一。转眼间,CMM认证,软件学院,IT蓝领这样的词汇充斥了IT人的视听空间,软件管理似乎因为印度的成功才得到了如此广泛的重视。更多的中国人恨不得马上赶上印度的地位,盼望着能劫印度的“胡”……

羡慕也好,嫉妒也好,社会各界都拿出力量来行动了。软件学院在一夜之间遍布全国,好像在另一夜过去之后就会有无数的软件人才投入到赶超印度的“大生产”中去。然而2、3年过去了,一方面,各个软件公司,包括信息产业部还在抱怨专业人才的短缺;另一方面,软件学院,信息学院计算机相关专业的毕业生,甚至包括硕士、博士毕业生,却面临着就业困难的局面。不是开了软件学院就能培养出来软件人才的,业界公司都在抱怨毕业生能力不高,动手能力差。我私以为,中国的软件公司大多规模很小,据统计,截至2004年,中国大陆软件公司的规模平均为30人,这样的小规模公司自然承担不起员工适应环境耽误的时间,他们要求新员工能立即投入工作创造价值,否则投入成本得不到回收,会使得利润微薄的小型企业立即陷入危机。这样一来,自然软件公司会叫嚷缺少人才了,必经成手的人要求比较高,而且确实数量是有限的。另一方面,软件公司,主要是大型软件公司会招聘应届毕业生来进行培训,这些公司会投入一些成本使新员工有能力融入工作。这样以来,他们就会担心培训好的员工被别人挖走,从而制定苛刻的限定或者在某些方面把培训成本回收,比如过量加班,工资增长过度缓慢等等。我同学供职的某公司,在培训新员工之后提出一个每天奉献一小时计划,就是新员工要每天免费加班一个小时,这样还算不错的,有些公司,包括一些规模比较大的,加班真的就是义务的。在这种环境下,人心思变是正常的。跳槽是被逼的,谁也不想工作不稳定,但是现实的情况是,如果继续在一个公司里面干下去,工资几年都不会变化,而作为成手跳槽选择会比较多一些。更让人啼笑皆非的事实是,有些技术含量较低的公司,因为培训成本比较低,他们不会在乎一个技术老手的提薪要求,不愿意干,走人,招个新人一样干。而这样做的结果将使得这个公司永远处于飘忽状态,不会得到提高。金钱,正在成为这个社会人人追逐的目标,企业为了利润不择手段,同样员工为了收入也会铤而走险,以至于毕业生对于金钱的渴望超过了一切,这也使得行业的发展陷入了不利。学习印度,软件学院不是方法,是一个形式,具体的方法需要社会,业界,教育界配合起来来寻找。(PS. 心里话软件学院对我们CS专业学生的冲击一度让我不满)

谈到学习印度,不得不说CMM,在印度CMM5级企业有60家,数量惊人。于是中国企业认为CMM是救命稻草,纷纷投入财力人力搞CMM认证。而在追逐认证的过程中,又犯了当今中国社会的通病,结果大于了过程。就好像考CCNA之类的认证一样,目的就是拿到证书,一切都围绕认证,而没有真正注意学习和改革的过程。于是CCNA在中国烂掉了,因为很多HR发现,拿着CCNA证的人有一半以上根本不会,完全靠背题通过了考试。甚至有一个做HR的朋友说,但凡在面试的时候拿出一打类似CCNA、MCSE、MCSD证书的人一般就不考虑了,拿那么多证书的目的值得怀疑,能力更很难相信……虽然CMM还不至于臭到CCNA那个份上,但是如果还是这么搞估计也快了,很多公司在某些努力下,通过了CMM3甚至更高的认证,以为可以靠着这样的门脸可以招揽到更多的生意。然而由于对过程的忽略,本身企业并没有达到认证应有的水平,使得企业无法提供和认证水平相符的服务质量。所谓希望越大失望越大,客户对于CMM级别较高的企业的低质量服务会格外反感,从而适得其反,CMM级别完全没有了意义。关键还在于一个软件实施的过程,企业自身是否真的运用了高级合理的管理方法,是否真正的在企业内部进行了符合CMM的进化,是否能把这样的进化坚持下去。这些比CMM级别的高低要重要的很多。一个CMM级别低但货真价实的团队要比CMM级别高的花架子来得有效,别忘了微软还是CMM2——CMM3的企业,相比较东软通过CMM5的部门未见得高明。

同样是软件人,中国软件人现在更多把眼光放在了5000还是10000上,越来越多得人失去了对技术得热情。中国软件业似乎走向了成本增长速度大于质量提高速度得路线。无论是政府、企业、学校还是个人都有难以推卸得责任。对于过程得忽略会毁了我们得大好前程,而这个事情不只限于软件业。

学了印度几年了,学了很多皮毛,看上去好像很光鲜,骨子里面变化少之又少。浮躁,嫉妒是绝对要不得的。脚踏实地得做好过程比获得奖章来得重要,过程做好了,奖章早晚会到手得,跑也跑不掉。是时候放开那些概念,研究概念背后得来龙去脉得时候了。

因为只是学生,而且不是研究这个方向得,对业界内幕了解有限,胡写,个人愚见,只是盼望从业时候得年景能更好点。

2005年05月07日

距离上一次写下自己的blog已经过去两个星期了,我知道不经常的更新是blog生存下去的死敌。倒不是因为会导致固定的看客忘却这里,而是我明白坚持写有内容的blog确实是一件很有挑战性的事情,长时间的不更新会导致热情的冷却,以致危及继续下去的信念。放弃一件事情是如此的容易,而坚持下去又是何等的困难。在忙碌的生活中,我坚信blog这种形式能够帮助我整理思绪,进行沉淀和升华。但是我始终做的不好:一是随时随地的blog目前还不太可能,我为此丧失了很多的思绪火花,有的时候不得不说,写blog源自一种冲动,一种有感而发的快感,一但花火闪过,就再也捕捉不到了;二是氛围,一般在夜深的时候才能真正的把感觉捕捉的稍微准确一点,而恰恰这个学期进入实验室以后我还保持了以前的晚睡习惯,这样在上个月末欠下的睡眠一起来要债了,常常回到家里就昏昏沉沉的倒下了。五一的假期让我有了复活的机会,现在调整的差不多了,可以再出来活动活动了。

在这半个月里,经历的最为揪心的事情就是HOUvsMAV的系列赛事,不知道为什么会如此精彩,6场比赛下来,竟没有一场会让我产生困倦的感觉,双方就像两个实力相当的拳击手一样,勾拳,组合拳,然后是反击,让人很亢奋,说实话去年所有的季候赛都没有这6场来得精彩,这样的感觉甚至要追溯到1998年,在长达6年的时间里没有的感觉。在公牛之后,马刺,湖人的夺冠都没有这个季候赛第一轮来得精彩(个人感觉),而草根活塞的兴起更像是上帝的垂青。这个赛季一切变得不同,大量的球队的改头换面和新进攻潮流与牢固防守的竞争与结合让整个赛季充满了新奇和惊喜。明天两只强队将决定谁会先流干最后一滴血,而胜者将在周二去和太阳拼命,而当所有的火爆沉淀之后,将面对的十有八九是沉稳的马刺,如果小牛或者火箭中的一只球队能够拿到西部冠军,那么这个冠军将最具说服力! 期待着明天的比赛,还有今年的冠军之路,崭新的NBA在呼唤我们去为之陶醉。

我删掉了WOW,对这个我只能说很遗憾,事实上从进入实验室以后我总共玩过不到两个小时。WOW,我认为绝对是一个史诗般的作品,很痛苦我不能陶醉其中了。同时我也认识到网游这种形式可能注定着和我无缘了。我发现,每天短暂的投入是无法在网游中获得乐趣的,而对于我这种人,时间注定要用在学习和工作上面,一点的放松和喘息就意味着落后,大学的时间已经稀里糊涂了,现在和将来我必须面对为生活努力的现实。虽有不忍,但是我觉得删除WOW是一个正确的选择。(更何况是不得已的选择,我需要硬盘空间来装matlab……,要不是这样,可能我不玩也会把它留在电脑里面)我依旧喜爱Warcraft系列包括WOW,因为我本身就是一个奇幻迷,但是我清楚的知道我没有时间去体会扮演一个WOW中一个有故事的人,我只能选择意淫,偶尔在睡梦中回到那个剑与魔法的世界,在闲暇时画下几张草图,写下一点文字,和我的WOW保持神交了。Love U forever,my WOW!

我又回来了,回到了久违的blog上来,我不知道是不是真的能从blog这个形式上得到什么,但是就像人说得那样,成功的重要因素是你不知道你正在尝试的事情不会被完成[1]。我实在找不到blog不会对我有帮助的理由。

另外,我发现有人抄袭我们中国人的名言,我们常说的“孔子曰:‘莫慌’”,成了Douglas Adams在《The Hitchhiker’s Guide To The Galaxy》中使用的“Don’t Panic!”竟还上了Wiki语录……

注:[1] It is well known that a vital ingredient of success is not knowing that what you’re attempting can’t be done. ~Terry Pratchett