Monthly Archives: November 2005

集市、神经元和keso

  自由软件有篇理论经典《大教堂和集市》,拿来形容blog圈子和传统门户也很合适。传统站点就像等级森严的教堂,有明确的角色划分,有金子塔型的组织结构,有标准化的操作流程;而blog,就像赶集,每个人都可以拿东西去卖,也寻找有什么东西可买。

  用神经网络比喻blog圈也许更贴切:一个神经元从若干其他神经元结点得到输入信号,这些信号有不同的权重来影响输出信号,进而又影响到别的结点。任何两个神经元都可以建立连接,通过前一次交互的效果强化或弱化下一次的权重。整个网络就依靠大量内部反馈进行演进,产生感知和记忆。

  如此说来,这种结构并不能导致“去中心化”。允许存在一些节点,对外连接特别多,输出信号权重比较大。那么比起层级的树状结构的“根节点”,这又有什么不同呢?

  重要的是通路不再唯一,拥有自适应能力。医学上常见的例子,由于事故,大脑某些区域之间的联系被切断,造成记忆丧失或功能失调,但神经系统有很强的自我恢复能力,不久很多隔断的结点又通过其他路径彼此联系上。

  keso大概算目前的“超级神经元”之一,很多人关注keso的“昨日新闻”。假设有天keso突然打算休长假,虽然大家很郁闷,但一定可以用其他方法搜索到有价值的blog,也许会出现一个新的“keso 2.0”来替代消失的老大。

  后记1:昨晚半夜刚刚写完前面的文字,就发现blog.donews.com不能访问了。不会这么巧吧……为了证明上文的“自适应理论”,用了各种搜索工具,最后找到了:

  http://www.365key.com/keso/

  http://keso.wordpress.com/

  http://www.bloglines.com/public/kesoit

  后记2:收到朋友的信息:“真是个乌鸦嘴”。目前blog.donews.com还不正常,数据是旧的。今天我的blog访问量超过了500,这算是一次特殊的KEO吧:(

软件工程相关转载三则

  Ai92翻译的这个版本的Martin Fowler的《设计已死?》很不错。其中总结的XP设计技巧是:

  

  • 持续保持代码干净、简单。
  • 重构,使你觉得任何有必要的时候都可以大胆的改进。对模式加深认识:不死搬硬套,要知道该何时用,以及如何逐步引入。
  • 着眼于应付未来变化的设计,知道现在做出的决策可能要过后进行修改。
  • 知道如何将设计传达给必要的人,用代码、图表和最重要的:交谈。

  摘录《可以不当工作狂吗》的一段内容

  “……哈佛商学院的Leslie Perlow,作为人种学者,对多个国家的几支软件工程师团队进行了一项研究。这几个团队在做类似工作时的工作效率几乎一样。但Perlow发现,这些团队工作方式不同,对成员的影响也截然不同。”

  “在印度,工程师们遇到问题时会直接找团队里的其他专家。他们之间相互的承诺关系使每个人的工作时间往往很长,因为每个人都觉得必须让同事找得到自己。”

  “在中国,工程师们工作时很少互相说话。所有的帮助请求都汇总到项目经理那里。这使得每个人都严重依赖项目经理。”

  “在匈牙利……”

  “Perlow说,这三个团队都相信没有其他的工作方式,他们只是按照全球市场的要求来行动。然而印度团队的做法会让人筋疲力尽;中国团队受制于上司;只有匈牙利团队的做法使员工拥有自己的生活……”

  梦想风暴在他的《乱弹设计》里写道:

  “……曾经的我就是一个为技术而技术的人,当一个项目启动的时候,我首先考虑的就是如何展现自己的功力,如何编写优雅的程序,而忽视了根本性的问题:需求。真正让一个软件产生价值的就是需求。少了需求,软件的意义也就荡然无存了。当一个人做事连自己的目标都搞不清楚的时候,不做错事,已经要感谢上天的眷顾了。没有正确的目标,其它的努力只是让自己在未卜之途上越走越远。有许多部影片为我们展示了邪恶科学家的威力,他们不是不努力,只是弄错了方向……”

  “……谈到设计,最好的设计标准还是那条经典的“高内聚,低耦合”。了解了这么多的设计手法,体会那么多的设计原则,到最后,基本上都能归结到这条标准上来。设计的过程是一个分分合合的过程,先是把系统分拆,再把功能相近的东西合并,这样就形成了一个模块,有人叫服务、子系统、类、组件、函数、方面……,都是一回事。设计者需要考虑的就是让(各个模块实现者)怎么去做这个游戏,以便让各人能够独立工作而不致于相互影响,这就需要请出“高内聚,低耦合”作为衡量标准。模块之间的合同就是我们常说的“接口”,它可能是函数调用,可能是参数传递,可能是共享数据,也可能是远程调用。总之,有了合同好办事,谁的问题谁负责……”

技术和应用

  传说Google打算收购Riya,一家搞人脸识别技术的公司。这对人脸识别组的兄弟们是个好消息。

  Google面试的时候会问你“进Google后想做什么独特的东西”。tj答:设计一个搜索引擎,输入“马”字,就按照图片内容来寻找网上的马的图片。我也想过,现有人脸识别的各种算法虽然还有缺陷,但可以拿来实现一些玩具,比如去搜索网上和自己最相像的人脸照片;再比如把自己的脸和某个偶像的脸特征取平均,生成一张“新脸”,看看像谁。

  有次人脸识别组去微软研究院学术交流,未来的MSN也许会加上一种人脸特征点定位的小应用,表情仿真:你在摄像头前作出各种表情,网络那边的人虽然只能看到一个虚拟头像(例如卡通唐老鸭,或者某个名人),但这个头像的面部表情随着你的表情变化。听说QQ也在联合科研院所搞这方面的产品。微软演示的新操作系统里,图片收藏夹能对图片内容自动进行分类,例如风景、卡通、集体合影等等。

  技术的价值就体现在应用上,尤其是体现在投入日常娱乐交互的广泛程度上。

  总在考虑,生物信息领域有啥可以借来实现一些轻松的玩具型应用,放到网上让大家玩,还没想到。也许基因芯片方面的技术更有可能?目前工作不涉及这种技术,不了解。

关于Rails框架

  很多国内技术人员对Ruby感情复杂,除了技术因素,还搀杂了一点别的东西:Ruby的创始人是个日本黑客

  其实技术就是技术,机器不会说谎,先进的东西你不吸收,只能更加落后。再说自由软件项目从来都是超越国界的团队成果,例如大红大紫的Ruby On Rails来自美国。技术上,Ruby和Java或.net不是替代关系,但Ruby On Rails的确是目前开发WEB2.0效率最高的工具,大大影响到了java和.net阵营。

  看到calvin的各系Rails大点兵,很不错,推荐。里面提到出色Rails框架的特征:

  1. 动态语言
  2. extreme simple to use的ORM框架
  3. extreme simple to use的MVC框架
  4. 自动生成代码的命令、模版
  5. AJAX、WEB Service、i18n等特性自由扩展

Stay Hungry. Stay Foolish

  ”…Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma — which is living with the results of other people’s thinking. Don’t let the noise of others’ opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary…”

  ”…Stewart and his team put out several issues of The Whole Earth Catalog, and then when it had run its course, they put out a final issue. It was the mid-1970s, and I was your age. On the back cover of their final issue was a photograph of an early morning country road, the kind you might find yourself hitchhiking on if you were so adventurous. Beneath it were the words: Stay Hungry. Stay Foolish. It was their farewell message as they signed off. Stay Hungry. Stay Foolish. And I have always wished that for myself…”

          —Steve Jobs

  补:人群是不靠谱的,乔布斯这个讲话刚出来的时候,我推荐给周围的朋友,包括我那时候的女友,他们大多不感兴趣。等到乔布斯死了的时候,Stay Hungry. Stay Foolish这句口号变得震天响。昨日的特立独行,成为今日的经典,明日的陈腐。

本周收藏.2005.11.19

研究自己

  人脸识别课题组原来有一对长相难以区分的双胞胎;今天生物信息组开会,发现有位师兄是色弱,肉眼识别PPT上的红色线条很困难;记得刚刚进实验室,看到那个戴着电子手套的手语识别组的女孩子,后来知道她没有听力……

  我们研究的对象,越来越集中在自己身上:人是怎么感觉的、怎么记忆的、怎么思考的、怎么学习的、怎么决策的、怎么喜怒哀乐、怎么影响后代……