成瑞 的个人资料Sonata of Life照片日志列表 工具 帮助

日志


12月13日

稀奇古怪的树

     在Sawin开发的网站上看Robert E. Tarjan的简介,看到了这棵具有自我调节功能的搜索树。我对这棵树本身感到好奇的地方就是它满身长出来握着自己树枝的手,这让我想起了埃舍尔那幅著名的《画手》。一个本来很简单的物体加上一些奇怪的功能以后不仅长出了奇怪的样子,更赋予了它一些神奇的能力,这种自我调节系统看上去真是有趣,我们每个人在不同的环境中自我调节的时候,身体内部、脑袋里面是不是也“长满”了这样一些奇奇怪怪的手,向外表现出来的强大调节功能让我们人类自身只能惊叹于上帝造物的精巧与完美。经常说脑子缺弦了,要是在这棵长满了手的树上哪只手放错了树枝,整个变混乱的时候,那可就有的瞧了。
     复杂现象下面简单的规则才制造了有序,制造了让我们惊叹的美丽。在面对这个复杂世界形形色色的时候,也许最为直率和简单的态度,才能将我们身体上这些大大小小的调节手指挥得和谐,让我们享受美好的人生。
7月24日

吐血的bug

      这两天第一次让我遇到了一个吐血的bug,以前的问题就算解决不了,那也是问题摆在那个地方,起码我还能知道是哪一块区域出错了,而且在同样的数据上计算机会乖乖地每次重现同样的bug,但是这次的bug很牛,在同一个测试上有时候出现,有时候不出现,有时在这里出现,有时在那里出现。你要是让它Run,Run出了错误去调试它就进到一堆汇编代码里。今天在别人的指点下,终于通过修改别的地方代码解决了这个随机bug,一个系统的bug不能头痛医头的真理再次得到了印证。
6月29日

机器的智能,智能的机器

      从一名员工手里拿到许峰雄写的书——关于深蓝的故事——深蓝的制造、深蓝的比赛以及和深蓝有关的人……
 
      小时候下中国象棋到上大学第一次用计算机,靠计算机实现智能的话题似乎对我个人有某种很大的吸引力。
 
      牛人Simon横跨计算机与经济研究领域,对认知科学又有很深的认识,尤其是符号推理方法将这个领域向前又推进了一步。到后来人工智能的研究进入一个相对缓慢的时期,可能在应用上比较成功的要算那些各种各样的专家系统了,但这些专家系统从本质上来说能不能算是一种智能似乎要打上一个大大的问号,计算机的模拟只是从功能上能达到与人类智能的某种相似性。
 
      一本书《无心的机器》不去谈论具体的机器智能,而是用思考的手法提出了一堆问题,每个问题都暗示了无心机器到有心人类智能之间的巨大鸿沟。有视觉理解方面的,正是通过这本书,我知道了菲舍尔,他那些奇思妙想而又诡异的画,比如《黑夜与白昼》,又比如《画手》或者《瀑布》。《无心的机器》还有提到哥德尔那个著名的定理,背后的哲学意义似乎已经超越了科学的范畴,所以那本书的封面就是一个由科学、宗教和艺术构成的在现实中不存在的矛盾几何体。
 
      计算机最终战胜了人类国际象棋大师,与其说是计算机不如说是计算机的设计师和训练计算机的国际象棋大师们,计算机只不过唯命是从,按照人类设计好的方式不断的计算、搜索,只是设计师让小小的芯片具有了超快的速度,训练师会让计算机面对各种环境时按照好的经验去计算棋步。深蓝的成就当然会写下重重的一笔,但这能否算是智能呢?刚读研究生的时候,向老师请教这方面的问题,当时很明显象棋已经到了一个高峰,剩下最具挑战的当然是围棋了,老师当时笑着问我:你要试试围棋么?越到后来对老师这句话背后的含义就越理解了,不是这个问题难,是这个问题太难了!!到现在计算机围棋手的水平和人类相比还相去甚远,一直用启发式和搜索的方法做下去,不知这条路还能走多远。
 
      对于机器,我还是更愿意把它看作工具,工具的能力再强大也仅仅是工具制造者的一个延伸,即便是工具最后能将制造者毁灭,那也不过是制造者自己的意愿罢了。
5月19日

Female in IT

    Mary Lou Soffa, the Owen T. Cheatham Professor and Chair of the Computer Science Department at the University of Virginia, has given a presentation about success and career. The tilte of the speech is 'Managing Your Career'.  This speech is just like a talk which can make you feel easy. As a female researcher, she is very successful in computer field which is often taken up most by the male. What impress me most is that she encourage we student talk freely in English. She also help the nervous  students calm down and led them to express themselves. From her I can feel some differences between Chinese and Amarican cultures.
   As my roommate Zhang Feng said, an important aspect of spoken English is we must know what we will say. Although I still feel nervous when I speak English, today I gain some confidences from this speech. 
5月17日

A presentation given by Tony Hoare(Turing Award winner)

   Today's presentation is given by Tony Hoare, who should be described as "NiuRen" in the software field in Chinese. He is a senior researcher come from Microsoft research institute in Britain. The title of the speech is "Verified Software : theories, tools, experiments".
   An interesting problem Tony told is "Why are programmers liable to making mistakes?". One people answered because we are human beings. However Tony thought that long feedback is an important factor. You know a car or an airplane driver can receive instant feedback if they make mistakes but a programmer cannot. I think it's a very vivid example.
   The difference between a scientist and an engineer is another topic at the beginning of the speech. I will list the key points that Tony showed us. Scientists provide tools or theories and engineers select them.
   Scientific ideals including:
   1. accuracy of mesurement
   2. purity of materials
   3. completeness of logic
   4. correctness of programs
   5. simplicity of theory
   6. certainty of answers
   ...
 
   Basic questions of engineering are what, how, why and how.
   1. What does the product do?
   2. How does the product work?
   3. Why does it work?
   4. How do we know the answers are correct?
 
   Now Tony is working on a project related to program verifier. He is the inventor of famous QuickSort algorithm and it's a costful chance to listen his speech for me. :)
 

Tony Hoare 简介:

C.A.R. Hoare (Tony Hoare)是目前世界上最有影响力的计算机科学家之一。他在计算机软件与理论的诸多方面做出了卓越贡献。
他早年发明的快速排序算法(Quicksort)是计算机界最有名的一个算法。为了解决程序正确性问题,他提出了一种逻辑系统,后来被称为Hoare逻辑。它是形式验证方法的主要途径之一。更进一步,为了描述并发系统及其性质,Tony Hoare又提出了通信顺序进程(Communicating Sequential Processes, CSP)理论,在学术界产生了深远的影响。
Hoare教授由于在计算机软件和理论方面的卓越成就,获得了1980年度图灵奖。他还获得了2000年度京都奖(尖端技术领域)。图灵奖(Turing Award)是美国计算机学会(ACM)设立的计算机界最高奖。京都奖(Kyoto Prize)是日本稻盛财团设立的国际大奖,分为尖端技术、基础科学和思想艺术三个领域。2000年,英国女王伊丽莎白二世授予Tony Hoare爵士爵位,以表彰他对计算机科学所做出的巨大贡献。
Hoare教授长年在牛津大学工作。1999年,从牛津大学退休并就聘于微软公司。近年来,在学术界和微软公司支持下,正组织“可验证的编译器(The Verifying Compiler)”的国际性项目。该项目被认为是计算机科学界本世纪的一个重大挑战性问题(Grand Challenge)。

5月10日

Summary: How to be and grow as a developer

    How to be and grow as a developer? This is the first report meeting I have attended in MSRA. It was given by Pung Xu, a senior development manager in MSATC. From this presentation, I did learn a lot about both software development and communication skills.
    In summary, there are several points in this report meeting.
    First, we must concern what are customer wants. If a product is successful, it will eventually be sold to customers and it will meet their needs in some aspects. We should aim to develop softwares which can change people's life.
    Second, we should try our best to design a solid architecture for easier modification and maintenance of software. The software we design ought to have some flexibility adjusting to future user's requirements.
    Quality and security are another important issues that should be considered. To achieve this goal we must test our software strictly. There are a lot of tools we can depend on to find bugs, but the most important of all is people himself. Our brains are more powerful than any other tools because tools are created by us.
    Being a professional developer, he or she should learn and have passions for technology. The development of technology today is so rapid that we must learn constantly to keep up state of the art. Passion is driver for learning and innovation.
    Communication is the key for success. Effective communication is a challenge for us. In the process of communication, precision questioning and active listening are two ways we can take.
    Other issues about the topic are sharing experience, taking ownership, influence for results, and the like. Pung Xu also told us what is a typical career in Microsoft looks like. I have gained much more than I expected before meeting.
    It is said that Hong-Jiang Zhang, Ph.D,  the managing director of MSATC will give another speech on June. I think it will be another interesting presentation :) 
4月29日

开始和msdn文档“斗争”

      以前最多是查阅一下,现在学习Direct show被逼迫开始阅读它了,发现要和书合起来看,似乎中文的很多书写得还没有msdn写得清楚,尤其是那些基本例子的。自己对目前的任务没有很明确,幸好及时找了mentor,避免了走弯路。
     假期来了,缓冲一下,继续慢慢前进……
4月4日

浮点数

很早就听说了double型数精度的问题,今天终于尝到苦头了。
 
double a = 18.000000000000001;
System.out.println(a);
 
你猜会输出什么?18.000000000000001???不,它出来的是18.0!!
 
double a = 18.000000000000002;
System.out.println(a);
 
你猜会输出什么?18.0???又错了,它出来的是18.000000000000004!!
 
很多问题想当然的处理,就想当然的出错了,我们应该对任何事物抱有一丝怀疑。
 
测试环境:eclipse3.1+Java1.4