C 库的编写 [2]

这是有关 C 库编写经验的一系列文档的第二部分,讲述了事件处理、主循环、同步与异步 I/O 等功能的实现经验。原文见:http://davidz25.blogspot.com/2011/06/writing-c-library-part-2.html

本文只是对原文的不完全翻译及意译,对其中所有错误不负任何责任。

继续阅读

C 库的编写 [1]

这是有关 C 库编写经验的一系列文档的一部分,原文见:http://davidz25.blogspot.com/2011/06/writing-c-library-part-1.html

本文只是对原文的不完全翻译及意译,对其中所有错误不负任何责任。

继续阅读

gnome 的未来假想敌

在 gnome planet 上看到 gnome shell 的开发者 Owen Taylor 写的一篇文章『为 gnome 设定目标』。文章的大意是反思了以往所设定的那些实际的目标和不切实际的目标。比如,当初要让爱好自由的人摆脱 MS Windows 的控制,这就是一个实际的目标。不实际的目标是那个 10x10 计划,因为这个计划没有指出 gnome 开发者应该去做什么。

Owen Taylor 提出了他的想法:我们没必要事事都做好,我们值得去做的是去为那些我们所接触到的人创造一些伟大的东西。这意味着我们要满足他们的需求,也意味着我们要直接影响他们的体验。但是要实现这个目标,仅仅去开发一些可以被他人复用的组件是远远不够的,而仅仅是从当前的用户体验中割出一小块作为目标,这也是远远不够的。例如,如果仅仅是在 web 浏览器的外围做点工作,方便用户浏览 Facebook 网站,对于这个,我们可做的事情实在太少了。我们需要为用户所做的是要超越用户对传统计算机和本地的应用程序的体验。通过我们的努力,让用户放弃 google 搜索、google 文档和 google 邮件以及基于 Facebook 的社交等网络服务,他们会因此而获得很多的益处。因为你的数据被他人控制,而控制你数据的人无论为你做什么,你都要唯其是从,这样的事情显然是不好的。但是我们要做的不能只是去告诫那些粗心的用户以及明智的用户要将自己的数据保留在自己手里,我们要做的是给予用户这样一种体验:有足够的控制权同时又可以获得与现在一样好或者更好的体验

我的英文不是很好,所能看出的大致是这个意思。感兴趣的还是去看原文吧。

Owen Taylor 的观点,让我联想起 RMS 早年间对『云计算』的看法,他指出:『互联网自己本身并不重要,重要的是使用它的用户。互联网对于许多活动来说非常有用,即便这些活动并不能说是某种问题。但有一样事情你不应该使用互联网来做:将你的计算转移到你控制的机器之外。换句话说,云计算是不应该被运用于互联网的东西』。

我一开始听闻这样的说法之时,感觉是很难接受的。因为每天都是在免费享用 google  的各种网络服务,我已经忘记了自由是个什么东东。就像当年我在盗版 Windows 软件里享受的时候,也不知道自由是个什么东西。一旦有人又一次指出我们实际上是不自由的,实际上是被人家所控制的时候,我又一次迷惑了 :)