始终是for business的软件才是带给软件公司最稳定盈利的一个section,看看PeopleSoft, SAP, BAAN等就知道了,而且壁垒也挺高的,易守难攻。其中特别是涉及公司财务金融资金流的,更是软件商家必争之地——不要在乞丐饭碗里面抢吃的,去资金汇集的地方寻找机会。
Category: My Theory
朋友啊朋友
我对我朋友的承诺:他的事我管得着。反之,他的事我管不着,还朋友个屁!sorry for my language.
假如我care他感受,他却不管我死活,那只是我一厢情愿,他没有把我当朋友。反之,如果有人真心说一句:william的事我管得着,那,他就是我一辈子的朋友啦。
突然想发泄一下而已,nothing serious.
本末
Prof用了大概两个小时,洋洋洒洒的十页笔记,证明了一个data structure的amortized run time complexity。我正在回味着这种数学的逻辑美。这时,一位中国移民(btw, 这里我要插一句,我也是中国移民, no offence) 问了一个“总结性”的问题:我们应该从中学习到什么,或者说您考试的题目将如何针对这个证明过程来考。Prof傻了,愣了一阵子,不好意思地说:I am only contributing to the education, not trying to teach u sth and test u on.
我并不针对问题本身,因为我相信,no such a question is an stupid question。但如果你还隐约觉得我有看不起这个问题的成分,那我就承认好了。
记得在Death Psychology的第一节课上面,Prof问大家学这门课的目的,坐在最前面的三四十岁的几个先生女士,说他们到了这个年龄,身边的人或者父母一辈,都已经体现衰老,甚至死亡。他们想通过学习Death Psychology,帮助自己亲友甚至自己的孩子,正确积极地去理解死亡这件事。
如果根据老佛洛伊德的理论,我自己是这样理解求知的,求知为了好奇心的是id(本我),求知为了自我完善而达至最后与人为善的是superego(超我),那么首先考虑考试题目会怎么出的就是ego(自我)了。人大部分时间都是用靠ego活着的,纯粹的id和superego是不容于世的,因为世俗人习惯用世俗的眼光看这个世俗的世界。聪明的中国人打心里明白这一点。所以中国人到哪里都很吃得开,世界没有哪个角落是中国人活不了的。
引申出来的现象就很有趣了,还是老佛的理论,id是顽强而具冲击力的,时刻想冲破ego,而要活得更体面,ego要耗费人的大量精力,去打压id。对比傻乎乎的老外,中国人(甚至亚洲人)愁眉苦脸眉头紧锁苦不堪言的外表,除了来源于战争和几代人对生活的危机意识外,或多或少,都是整天ego打id,打累了。
矛盾双方,对立统一——open source不外如是
我个人是崇拜英雄的,一如我崇拜UCB的师生,他们对Linux的贡献精神。我喜欢从比较大的角度着眼,什么有利于人类的进步发展,我就觉得是好的。MS等公司的垄断市场的做法,显然对科技进步有阻挠因素,由于对知识产权的保护,源代码的不公开,导致不能利用全部人(特别是某些天才)的智慧来共同进步,主要的浪费体现在(从整个人类看)同样的知识重复研发,还有旧知识没有及时为新知识的研发提供平台,这就如同一个自私的巨人,不让你站在他的肩膀上面看世界,你要看得更高更远,请自己成长为巨人(还是在自私的巨人的打压中成长)。这也许就是除去经济冲突外的,MS等技术垄断型公司为人诟病的一点吧。
现在让我们来看看矛盾的另一面,open source,管你是不是天才,你能拿着现成的源代码,做出任何的修改,然后对外发布你的“杰作”,让人类分享你的智慧成果。听起来不错。慢慢品尝一下吧,或许你会发现里面甜中带酸。在计算机领域,我是这样定义天才的:每次对产品的改动,找到并消除一个bug,同时连带创造少于或等于一个bug的人。从一个动态平衡的角度,不难看出这个产品会越来越好。但可悲的是,在coding的世界里,这种天才绝对属于少数。如此一来,结果会变成如何呢?结果是,让人类分享你的“智慧成果”。
这些投放市场的产品,就如同没有经过质检的零件,而当需要他们组合成一个更大的产品时,情况可以变得更糟。就如同90年代的美国车和欧洲车的区别,每一个零件的质检要求都低一点,外加组装的随便一点,整辆车的性能寿命就不是只差一点点。有时甚至组装不起来,因为产品本身与声称功能远名不副实。我这几天把时间都花在尝试不同版本的RTAI,KERNEL,GCC之间的组合就是一个很好的例证。引申出来,open source也在不断的消耗人类时间精力,大家(除少数天才)在不太严肃认真的工作环境下,创造出一堆次品和废品,同时,把很大一部分时间,荒废在捣弄其他人之前产出的废品上,各人在为其他人的错误(创造的bugs)付出代价的同时,再制造一些新的错误留待后人品尝。
其实,到底open source与否,不重要了,矛盾双方,从来缺一不可。
真正有利于人类发展的,其实是open standard。PC机之所以能如此快速的发展,同时不可置疑的推动着人类进步(我认为的至善),全赖于当年IBM的open standard,“IBM兼容机”,多么响亮的一个词,到现在,终于稍微明白了。所谓兼容,只要你follow the standards,你就是一台IBM PC机。当然了,后来出现的不少兼容问题,都是当初的standard不够面面俱到导致的。MS也渐渐意识到这一点,积极参与了不少standard的建立,里面不可否认有经济因素的考虑(无可厚非,公司的最终也是唯一目的是利润最大化,这是我读企业管理的第一课就教的了),但同时也是在为人类做好事。
轮回,元神,宗教。。。
在看《西藏生死书》,里面显然是赞同轮回的,要轮回的,肯定不是肉身,这个臭皮囊早就灰飞烟灭了,轮回的肯定是一种肉眼看不见的,一种物质,或者是一种精神。我不确定,但似乎我是相信除肉体以外,存在其他东西的,至于是灵魂,元神还是别的,就不考究了。
正如我之前在一本书上面读到的。作者钟爱Mustang跑车,自从五十年代,买了一辆之后,几十年保养得很好,但零件也会衰老,于是,坏了修,修不好的换,几十年下来,没有几件零件是原来的,然而在作者的角度看,它仍然是自己心爱的Mustang。那么人呢?新陈代谢,头发指甲长了又剪,剪了再长,细胞血液都在每天更新,你出生的时候叫做张三,到你辞世的时候,几乎没有“零件”是出厂时的原装件了,但人们仍然会说,张三去了。这样看来,人,这个整体,是不是除了肉身以外,还有些东西是存在的,用来使你从始至终保持着张三身份的。
这样引申出来,又有一些发挥。例如,断了一条腿的张三,还是张三,但是那条断腿本身,只要脱离了活着的张三这个整体,就不再是生命体,当然你更不能称呼那条断腿叫做张三。这比较好理解。但是如果不是人,而是蚯蚓,从中断开,变成两条活生生的蚯蚓,继续存在下去。如果他有名字,原来叫张三,后来两条谁才是张三呢?或者谁才是原来的那一条呢?又或者其实还有没有原来那一条呢?
从这个角度来看,肉身的存在依靠灵魂来识别,但是灵魂本身脱离了那个肉身,它又不再是代表哪个肉身的灵魂(蚯蚓的例子),而是失去灵魂的灵魂。
有趣的是,这就像讨论先有鸡还是先有蛋。首先,这里的蛋,是指鸡蛋,如果问题讨论的是先有鸡还是先有猫蛋,哲学家们会很生气的,因为他们不讨论这么肤浅的问题。那么,鸡蛋生出来的如果只能是鸡,或者不从鸡蛋生出来的不算是鸡,也应该成为讨论的前提。然而前提一摆出来,但答案也跟着出来了:鸡和鸡蛋同时出现。要不,前提无法成立。
类似的,灵魂和肉身同时存在,肉身死掉,灵魂当然还可以存在,但看清楚了,这灵魂早已不是原来的灵魂,没有了灵魂的灵魂不能叫灵魂了,就等于不是从鸡蛋里生出来的生物你可以给它任何称呼,但这称呼绝对不能是鸡,至少不是传统意义上的鸡。
所以说,灵魂这东西是存在的,但人们永远也找不到,因为灵魂已经不在了。
许多伟大的科学家,晚年都投身宗教,一定有道理的,我不相信人的认知会倒退,他们一定是看到了更高的。我对宗教几乎没有研究,宗教对这些问题讨论得很透彻,等我(以后老了)有兴趣的时候,一定会读读的。现在还是去睡觉吧,明天还要看advanced data structure的笔记,唉,这个肉身阿,这个灵魂。。。
为何古代汉字从右到左
那天我突然想到,为什么古代汉字会从右到左,而对于用毛笔用墨的古人,从右到左是极其不符合逻辑的,一边写,右手一边擦纸上的墨。那一定是从右到左的写法出现在纸笔墨的时代之前。纸发明之前,古人刻竹简,或者再早期一点,刻在石壁之上。
古人用的也是右手(整个宇宙,从微观到宏观,都是右手统治的世界,绝大部分现象遵循右手定理)。如果要刻一个字,一定是刻在右边,这样,自己的右手不会阻挡视线。如果今天刻一个字,明天刻一个字,那只能不断向左移动。后来有了纸笔墨,这种单纯的往左移动,行不通,那个字的墨迹肯定来不及干。于是,竖着写,等再回来写右起第二列的时候,第一个字就干得七七八八了。我没有去过石窟,不知道最早的古人是不是在石壁上面横着一行一行的写的,如果是,就验证了我的猜想。至于后来的大部分石碑,都是有了笔墨之后的事情,可能因此沿用竖行的写法。
还有阿拉伯之类的古文明也是从右往左写的,也好像没有那个近代文明有这种习惯。
最近看到有文章还提到,象形字基本刺激的是负责形象思维的右脑,而西方的字母文字刺激负责逻辑思维的左脑,然后对比中西方在形象和逻辑两大领域的成就,结果也很有趣。
百无一用是书生
特别是做生意的角度看。书生了解自己所学所知,从自己能做什么作为出发点考虑问题,把过多精力放在客户完全不需要的服务上面,提供这些服务的有且仅有的一个理由就是:能做出来。其实,如果客户真的需要,你做不出来也得想办法作出来。
That’s why all the web browers suck!
One of the main reasons that HTML browsers are so big and incompatible, is that they have their own ways to figure out what a document should look like when they encounter an HTML error.