星期四, 七月 31, 2008

[Geekland]WIB & philosophy

worse is better这篇文章真是越看越有趣,这篇文章前面后面还讲了一些lisp的细节,不过最重要的是提出了WIB的思想,事实上,jwz就把这一小节单独抽出来,作为一篇essay:The rise of "Worse is Better"放在自己的site上。看来早在1990年工程界就开始反思80/20法则了。

Unix/c或者worse is better或者New Jersey approach的哲学是简单优于正确,差一点(损有余)刚好。所以作者才说c是汇编,简单,把复杂性留给了UI,而unix/c就是computer viruses,比right thing能够迅速流行。

不过我觉得要看到lisp的原来的设计目的是AI,在AI上面差不多几乎是致命的缺陷,想想看,一个人说话,比如英语,你只听懂了80%的单词,最终会明白多少呢?几乎是一头雾水。这也放映了业界在80年代末,90年代初一些不切实际的幻想,似乎到现在还有观点认为AI是进展最让人感到失望的领域之一。一些最有聪明才智的人才作出的一些最天才的尝试基本都失败了(可以参见这本书),比如麦卡锡大佬,费根鲍姆老大的故事。但是这些努力现在看来也不是没用,反而现在随着web2.0,长尾,个人化,推介系统的流行,以及multi-core等等,又逐渐被人们再发现,又流行了起来。

在这之后,才出现了linux,oss和internet也逐渐流行,然后一切就变成了现在的样子。可见*nux系统和c,乃至c++,java这一流占据天时地利人和的历史也不是自然而然水到渠成的,套用一句话来说,是自然选择的结果。

因为在这篇文章里,我们可以看到,lisp社区有着一样好的hacker,同时也不是像我们通常所认为的那样,lisp的编译技术比C差,效率低。那么决定的因素是什么呢?是背后的哲学,是分别以mit为代表和UCBerkerlay代表的不同思想,不敢妄评,不过mit似乎更学术化一点,UCBerklay要工程化一点,在iWoz里面也能感觉到在60、70年代UCBerklay还不是特别好的学校。而worse is  better在大教堂和市集里被认为是linux哲学的先驱

历史真是非常有趣,感觉是有几股暗流,交相辉映。

星期二, 七月 29, 2008

[programming]python, one stupid error

准备写一个处理xml的小脚本,想到了python,于是准备做一点小小的实验,因为是处理xml,所以就命名为xml.py,加上执行权限,run...问题来了,报这样的错:

Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "xml.py", line 2, in ?
    from xml.dom import minidom
ImportError: No module named dom

开始我以为是python的也有所谓的libpath的问题,上网google了一下,不得要领。

而且我看到机器上面有这样的dir

/usr/lib/python2.4/xml/dom

我只好把我得错误信息直接提交给google,刚刚看了第一个我就意识到了我得愚蠢错误,python把我刚刚写的这个xml.py当作xml的module导进来了,我还正奇怪为什么会生成xml.pyc呢,真是个愚蠢的错误。

教训是不要把你的*.py文件命名成标准库里面的文件,包括目录名。

收获是对python的命名空间多了一点了解。

星期一, 七月 28, 2008

[geekland]Alan kay's reading list & worse is better

通过del.icio.us的network发现了这个好玩的东东,号称是Alan Kay推荐的阅读列表,原文是这样说的

The following list was prepared by Alan Kay for his students and is presented here for those who want to learn more about the ideas and philosophies that influenced the creation of Squeak.

Aha!还记得我的那一篇post上面提到的computer science里面隐秘的发展线吗,这个绝对是一个绝好的印证,大约我可以看出来的有心理学,儿童教育,东方的传统等等。

=======我是传说中的分割线=======

Richard P. Gabriel在追忆他的worse is better的思想产生过程的这篇文章也特别有趣,值得看看。特别是里面提到的人名,作者没有给链接,我bagua一点,就不辞劳苦的google了一把

  • Gerry Sussman(wikipedia, person) SICP作者之一
  • Carl Hewitt(wikipedia, person)MIT EECS的prof.,程序语言的planner的发明者
  • Scott Fahlman(wikipedia, person)CMU的cs prof.,同时也是:-)的发明人
  • Jamie Zawinski(wikipedia, person)这个老兄jwz如果说是史上最牛之高中生估计没有太大的疑问吧,功绩包括xEmacs和mozilla和Netscape Navigator的早期版本。他的个人主页真实太cool了
  • 作者本人Richard P. Gabriel(wikipedia, person)非常有名的lisp专家,common lisp commitee的成员,他的essays里面有一篇The Evolution of Lisp对lisp繁复的发展有比较好的整理
  • Richard Stallman这个伯伯我就不再说什么了吧

让我感到惊异的是这些人来自于不同学校,同时也有学术届的prof,和单纯programmer,但是从文中看,他们之间的相互的了解和联系显然很紧密,而且这些只是冰山一角,我相信通过他们联系起来的geek & hacker & prof.会更多。这样的现象我只是在web2.0兴起之后,在国内的blogsphere上面看到过,但是要知道,那是在Internet和各种各样的工具发展起来以后的现象啊。也许这就是Paul Grapham在Great Hacker里面所说的Clumping现象吧。alas!国内的高校我所知道的只局限于bbs,甚至一个学校不同系之间的联系都不多,缺少一些润滑者啊。A国人果然执IT技术牛耳,要学习的地方很多啊。

星期五, 七月 04, 2008

[ComputerScience]顺流而下

Down in missippi where I was came

起因来自枫哥给我的一本书《大师的智慧out side their minds

Computer Science很多人坚持认为不能称为科学。不过就我而言,CS已经进入了physics, mathematics同等的地位,属于能够找到坚实的,形而上的基础和方法。在差不多研二的时候,当我孤独的在wg打发无聊的时光的时候,我意识到找到了一种也许是可以从事一生的职业。不过相对于phy和math,cs的历史要短得多,不过这丝毫不妨碍它群星闪耀的天空。而且在我来说,我一贯注重的方法论是考古学。(福柯的考古学?)我想稍微解释一下我心中的“考古学”

(update:我上网看了一下福柯的理论,繁密精深,不是我所能够掌握的,不过我觉得还是包容在福柯所谓的“知识考古学”之内,更退一步说,我想象中的这种方法和福柯是有着密切联系的,最起码是缘起)

为什么一切就是现在这个样子,而不是其他的样子呢?现实是历史汇聚涓涓细流而来的结果还是像打碎的镜子各条裂痕相互影响的结果?大多数情况下,两者兼而有之,不过按照塔勒布先生的说法存在一种存活者偏差(Fooled by Randomness/Black Swan,这两本书有机会再讲)的现象,人们天生偏向解释,(这个在社会心理学也有类似的概念,需要回去查一下),当事后诸葛亮,需要给个reason先。于是在历史的迷雾之中,我们今天所熟悉的种种一点一点的添加到认知体系当中,但是太多的忽然事件我们都已经淡忘了,虽然对于结果很有可能我们找到了合乎情理的理由,也许是在此话语之下启发出来的互动的过程,到今天看来已不稀奇;也许甚至是和缘起毫不相干的理由。

(update2:忍不住再说一下塔勒布,FbR和BS两本书讲的就是概率和随机性,突发事件,非常有意思的阅读体验)

所以我以为需要深入考察当时的情况。譬如CS来说,研究的问题,(逻辑基础,能不能解决问题;算法,更好的解决问题;AI,旁支,能不能自主地发现要解决的问题),所运用的方法论,还有的是贯穿其中的人。相比之下,人这个样本空间受到特例的影响极大,就是说CS的发展和CS科学家非常相关,科学家(sorry)的背景和知识都有可能造成非常的结果和影响。(不好意思,我又一次的使用了塔勒布先生的分析框架,因为这篇东西虽然我早有想法,不过这里看到的是我今天的修改稿,看,思想的碎片轻而易举的就进入了我的脑袋)举一个小小的例子,在CS中,logic是毋庸置疑的一条主线,相形之下,OO就显得吊诡很多。

枫哥给我的这本书就是这样一本书,记录了一些事实,发掘出了一些root。虽然稍微有点薄弱,还不是很详细。随便说一下书名,中文名大师的智慧,原书名Out of their minds,既非音译,亦非意译,毫无干联不说,原作者借此传达出来的一些微妙的意味完全丢失了,光从书名看,原作者显然是带着一点存在主义的味道的,同时还传达了一种既有超越又有扩展的可能,而扩展的这种含义正是我所特别感兴趣的话题。

如果有传记就好了,片言只语还是不够的。譬如迪杰斯特拉,麦卡锡,高纳德,巴库斯,拉宾。也许CS的历史还太短了,大多数人还都健在,还不是总结的时候,同时,CS本身这样一个有点尴尬的地位,正如Dijkstra所言,计算机和计算机科学的差别正如望远镜和天文学之间的差别,而且,CS同时也是异常的困难,哪怕是我这个可以算半个科班的出生,知道毕业,也没有听说过Y,所以CS的受众不是太广泛。但是,CS的历史比较而言,也许是有着最多的意外性的一门学科,我希望以此为起点,能够从稍微有点不一样的地方来发现cs的传统,现在想到和看到的大致有有心理学传统,儿童教育学和初学者的传统,东方传统,生物学的传统,工程的观点,图论,可计算性…

希望能够不断地发掘和写下去,wiki也许是一个更好的选择。