Why WP dot COM?

wordpress.com 的邀请一度被炒得很热,因为当时只有几个开发者拥有帐号和邀请权,物以稀为贵,这东西居然也能在 ebay 上拍卖了。自从 9 月 11 号以后,wp.com 开始自动发送邀请信,尽管仍然限制了邀请的人数,但使用者也渐渐多了起来,用的人多了,就会有意见,所以现在有捧的,也有骂的

我也试着用了一会儿,觉得现在还没到值得向朋友推荐的地步,主要是因为以下的原因:

  1. 现在用的是 WordPress 1.6 的 preview 版本,bug 还很多,其实现在有限的邀请,主要就是请你帮忙找 bug 的。我只用了大概 15 分钟,就发现了四五个 bug,都是不能忍级别的。(这从侧面说明 1.6 的发布恐怕还要等很长时间)
  2. 已经有国人在上面发表一些危险的言论 (这些言论是否合理合法不是我要讨论的话题) 了,难保不会被 Great Firewall 封掉。
  3. 相比纯中文的环境,wp.com 没有一个群体 blog 的合适氛围,对中国人来说,反正我觉得很不习惯。
  4. WP 本身不采用模版系统,theme 都是直接用 PHP 写的,这么做造成的直接原因是这种多用户的版本绝对不会允许你自己编辑 theme,只能用官方指定的几个。
  5. plugin 当然也不见了,没有了 Markdown,要忍受 bug 多多的 WYSIWYG 编辑器真是痛苦啊。

总结起来就是,wp.com 尚未成形,真的希望在上面写 blog 的朋友不妨再等等,想拿个 invitation 炫耀的家伙最好也给人家报告报告 bug,说实话,blog 要恁多作甚?有一个踏踏实实写的就好了。

56 年的 Heinlein

写了 Double Star 和 The Door into Summer。

双星的感觉根本就是伪科幻嘛,除了时代以外,只和政治有关。进入盛夏之门倒是中规中矩的科幻,典型的海因莱因式的叙述风格。

现在科幻世界出的海因莱因作品都看完了,最喜欢的是 Starship Troopers 和 The Door into Summer。The Moon is a Harsh Mistress 读着读着我突然觉得自己在读凡尔纳,Puppet Masters 情节过于平淡烦冗了,Citizen of the Galaxy 看完没什么印象。

期待 Time Enough for Love 和 Stranger in a Strange Land。

讨论的层次

刚刚看见这篇“不用 IE 用什么”,说实在,这类的话见得实在很多了,本来无须专门拿出来说一番,但想想这种胡搅蛮缠的东西多了也有害风气,就简单说说我的看法。

浏览器的口水战,哪里都不缺,我偶尔也逛逛水木社区 (newsoftware 版)、mozcn 的论坛和 Maxthon 的论坛,再加上各个 blog 里看到的,从我个人的态度来说,有点重技术而轻说教的偏见,下面的议论也以此而发,请别见怪。

  • 这第一层次是只知 IE,不知其他浏览器,这类人很多,不过一般还没能力参加口水战。
  • 第二层次是用用 Maxthon、GoSurf 和 GreenBrowser 等 IE 内核的浏览器,或者下个 Firefox 装插件装得开心,第二层次的两类人均自觉得手上有了 Tab-Browsing、AdBlock、Mouse Gesture 等武器,比只知 IE 的猪头强了不少。
  • 第三层次是知道 Maxthon 等等其实用的都是 IE 的内核,于是纷纷作义愤状,说用别人内核的东西还敢来分一杯羹说三道四?
  • 第四层次是能随口扯出些论据的家伙,比如 Firefox 其实不安全啦、Firefox 有内存泄露啦、Firefox 速度慢啦等等。同一层次的还有一批以 Web 标准为幌子,侃侃而谈 IE 如何不标准,Firefox 如何符合标准,其实他本人多半未曾做过 Web 设计。
  • 第五层次,做过点 Web 开发,也了解一些统计的结果,能够引用比较真实而权威的评测资料,进行讨论,这些人的话就比较可信了。
  • 第六层次是我最为佩服的,能够亲自开发 Firefox 的扩展和补丁,或者亲自用 IE 的控件做过浏览器或者扩展开发的,以亲身经历,举出实际评测的例子,有理有节,即便我的看法与之不同,我也会很敬佩他。

口水战的主力军以三四层次者为多,他们说的东西造成的误解也最多,这里我不妨试着澄清一二:

用别人的内核就没有发言权吗?

首先,“内核”这个词,在这里指的是渲染引擎,而渲染引擎这个东西,虽然在浏览器软件中最为重要,但远非全部,比如说我们知道如下事实:

  1. Firefox 用的渲染引擎是 Gecko,尽管 Firefox 是隶属于 Mozilla 组织的一个项目,算作官方开发的浏览器,但也有其他的软件,不是 Mozilla 组织 (或者其下属) 开发的,也用到了 Gecko 引擎,比如 GNOME 默认的浏览器 Epiphany,所见即所得的 Web 开发工具 Nvu 等。
  2. Maxthon 等软件用的是 IE/Win 的渲染引擎 Trident,当然,纯粹的渲染引擎我们这些开发者是接触不到的,不像 Gecko 那样可以剥离出代码来,Microsoft 给 IE 作了 COM 的包装,提供了许多方便开发者的 API,但是,图形用户界面、程序配置等重要的功能,IE 的控件是没有提供的,Maxthon 等软件都是自己开发这些功能的。
  3. 开发软件的图形用户界面很花时间,设计出简洁实用的界面也很不容易。
  4. 软件开发中调用别人设计好的库相当普遍,比如 GTK+ 2.8 是基于 cairo 图形库的,cairo 的文本渲染又依赖于 FreeType 库,GTK+ 的文本布局要用到 pango 库,这些库在软件的开发中都发挥了重要作用,但没人会说那些软件作者本身的努力可以忽略不计。

描述上面的事实时,我努力避免“如果哪个不服气,自己做一个去”这样的话,但有的时候,的确是不亲力亲为无以了解软件开发的困难。

在此,我个人的一点希望是,这个 Blog 的读者尽量多做一些具体技术的讨论,少做传道式的宣传,浏览器不是扯皮扯出来的,是开发人员一行行代码写出来的,体谅这点,或许能让我们对 Web 的了解更进一步。

说点感想

看汇编看得头痛,来写点感想,和大家交流交流。

我不知道看这个 blog 的朋友有多少是做程序的,或者是计算机专业的,可能设计师更多一些。然而我自己,一方面总还觉得自己多少能做点技术,另一方面又往往按耐不住设计一点东西的冲动。所以不妨在这里谈谈技术与艺术的一点点关系,我的理解。

首先是,千万不要把技术都当成特别高深的东西,是那些有外星人脑袋的理工科学生才能理解的。描述一个东西的简单,老外有句话,大意是你不需要是火箭工程师 (Rocket Scientist) 就能理解这个,估计他们能想到的最深奥的工程技术就是设计火箭吧。窃以为这种态度不对,好的技术首先应该是容易理解的技术,如果它不容易被人理解,首先便妨碍了自己被推广和被改进的可能性,一个不能不断改进的技术,又怎么能算顶尖的技术?50 年前大家用机器码编程,通过上下扳动开关和穿孔纸带来表示 0 和 1,其实首先妨碍的便是复杂系统的构建和验证,然后伟大的人出现了,我们有了汇编语言,终于可以用字符而不是数字来表达我们的想法了,可是汇编语言还是太像机器的思路了,每条语句都对应处理器的一个指令——这不是人思维的方式,同样妨碍了更复杂系统的构造,此后才出现高级语言,把我们从机器指令和复杂的内存管理中解放出来,专注于模块的分化,高层的抽象,使得灵活的系统构造成为可能。50 年前只有少数实验室的顶尖科学家才有机会触碰的东西,也就成为了现在人人都可以学,而且有很好的环境学的东西。所以我想,明智的技术应该是向着易于理解的方向发展的,不应该惧怕去理解它们。

第二,理解一个东西为何 (why) 这么设计是很有益的。在了解了 what 和 how 之后,why 不应该被忽略,而正是理解了 why,才能帮助你更好的理解更多的 what 和 how,事实上,真正给人的心智以启发,带有触类旁通效果的正是这个 why。现在计算机的软件环境发展得如此快,我们无法也没必要了解每一处的实现细节,但我想,和自己日常的工作关系最大的那部分细节一定要牢牢地掌握,一来自己就是靠这个吃饭的,二来了解了这个,你就不容易被种种花哨的宣传,官怪陆离的技术名词所迷惑,新技术、新概念、新提法天天都在出现,也天天都在过时,明智的人应当努力掌握一些不那么容易过时的东西。

第三,理解一门技术是应该付出一定代价的,如果谁告诉你这门技术又好又不需要花什么时间去学,那便应该谨慎从事。事实上,从我的观察来看,几乎没有一个高手是天生就有惊人的理解力和领悟力,在学习技术上,更现实一点的依靠是经验,而经验往往是从挫折中得到的。当我发现别人学习一门技术真的学得比我好,往往会发现他们比我更专注,比我有更多的兴趣,比我消耗了更多的脑细胞。此外,如果一定要说有什么捷径,那只能是在选择合适的文档上。

Web 方面的东西,有的时候会显得稍微好理解一些,做的人也容易浮躁一些,提出的种种新概念也要多一些,但相比起来也要短命一些,所以冷静的思考一下自己应该学点什么,把时间花在什么上,我想还是挺有必要的。