分类目录归档:读书

读《Just for Fun》

最近读了 Just for Fun 这本书,这本书是是 Linux 之父 linus 的自传,中文名译作《只是为了好玩》。关于 Linux,我大学的时候做过一个介绍的 PPT

关于这本书起始很早就下过电子版,但看了一点就没看下去。读电子版书籍的体验差实体书太远,之前买了一个 Kindle 也很久没用过了。

Linux 的诞生

Linus 出生在北欧的芬兰。芬兰是全球数一数二的发达国家,教育水平极高,这给诞生 linus 这样的人物提供了基础。Linus 的外公是一名大学教授,在 1981 年就有了一台计算机。那时候的计算机可不像现在的计算机主要是哪来娱乐的,只有基本的编程功能。linus 通过这台计算机,进入了计算机的世界。linus 可以说是标准的宅男,据他妈妈的话:“我有一个很好养的小孩,只要把他和一台电脑关在一个黑乎乎的小屋里,再时不时扔一点面条进去就行了”。芬兰有着非常长的冬天,每天日照时间很短,编程陪伴他过完冬天。

Linus 读了大学之后,开始接触到了 UNIX 操作系统,他在他的电脑上安装了他能找到的唯一相对有用的 UNIX 系统版本:Minix. Minix 是大名鼎鼎的《现代操作系统》一书作者 Tanenbaum 教授为了操作系统教学而编写的教学辅助系统。Linus 在这个系统的基础上做了大量的个性化工作以符合自己的使用习惯,打造成属于他的专属系统。然而,由于 Minix 只是 Tanenbaum 教授的教学工具,所以刻意限制了某些功能,也不接受第三方的补丁。Linus 不满意这个系统的终端仿真程序,准备打算自己写一个这样的程序。出于上述目的,也是为了更好地了解电脑的工作原理,他决定直接在裸硬件上开始实现。谁知道,这个项目,最终演变成了一个操作系统。

为了完成这个终端仿真程序,他开始做大量本来是操作系统的工作。由于 UNIX 操作系统对他影响很大,所以他准备完全按照兼容UNIX的方式来实现这个项目。有意思的是,他还找来了 POSIX (可移植操作系统接口)标准文档,根据文档来实现自己的系统。经过将近半年的忙碌,他终于完成了 Linux 的最初版本。他其实本来想把它叫做Freax,但他上传文件的FTP服务器管理员觉得这个名字太难听,就改成了 Linux.

Linux 一开始便是便是以开放源代码的形式发布。Linux 发布的消息放在了 Minix 邮件组里面。他的原意是作为一个 Minix 系统的替代品,结果吸引了很多对操作系统感兴趣的人去测试和使用这个系统,帮助把其他程序移植到 Linux 下,帮助提交BUG和补丁。就这样,linux 早已不是 linus 一人开发的操作系统了,而是无数个程序员,通过互联网协作开发出来的庞然大物了。

开源的意义

Linux 可以说是开源界最具有影响力的项目了。从一个个人的项目,通过开源模式,演变成为了世界史上最大型的协作项目。开放源代码最初不过是软件开发者们的共同理念,他们认为电脑的源代码应该是开放和共享,并将GPL条款——就是那个“反版权”许可证,作为开源运动的强有力工具。开源模式如今已经成为了顶尖技术持续发展的一种十分有效的方法。

开源运动如此神奇,其中最令人费解的一点,就是为什么会有那么多聪明绝顶的程序员愿意在完全无报酬的情况下去屈尊工作。在生存已经或多或少得到保障的社会里,金钱已经不是最大的动机了。众所周知,人们被热情驱使的时候,就能把工作做到最好。要是他们能享受工作的乐趣,更是如此。对软件工程师如此,对剧作家、雕塑家和企业家来说也是如此。在开源环境中,程序员不再是与公司里雇来的几个同行一起工作,而是与世界上最优秀的程序员一起工作。他们必须使出浑身解数才能赢得同行的尊重,这是一种更为高效的激励模式。

开源的实用与道德之争

对于 Linux, 选择开源更多是出于实用的目的。应为 Linus 相信,通过开源模式,能够做的更好。在开源界还有另外一种声音,就是自由软件精神领袖,理查德·斯托曼,所宣称的:所有软件都应该是自由的。这实际上是一种道德绑架。在这一点上,我认同 Linus 的看法。

生活的意义

Linus 认为生活有三层动机,分别是:生存,社交和乐趣,这三层是有先后顺序的。这也是本书名的来源。

读《黑客与画家》

最近读了《黑客与画家》这本书,书的作者 Paul Graham 和译者 阮一峰 都很值得称道。

如果你还以为黑客是指那些入侵计算机系统的坏蛋,或者想知道如何成为一名真正的黑客,那么你应该先读读这一份文档:如何成为一名黑客,是这篇文章将我引入计算机世界大门。

这本书不仅通过一篇篇看似没有多大关联的文章向我们诠释了我们身处的计算机时代,更灌输了一种思考问题的方法。这不是一本技术书籍,却能给你带来更多关于技术的思考。这是一本特别的书。

“自由思想比畅所欲言更重要”

“在他们看来,所有的观点都是可以讨论的,除了那些错误的观点”

“人们自以为很‘客观’,而把‘主观’这个词作压制讨论的标签。我们试图让自己变得‘非主观’的种种努力,在未来人们看来,都将是我们的最滑稽可笑之处”

“唯一达到‘奇特’的方法,就是追求做出好的作品,完成之后再回过头来看”

“编程语言本身就是为了满足黑客的需要而产生的,当且仅当黑客喜欢一种语言时,这种语言才能成为合格的编程语言,而不是被当作‘指称语言’或者为编译器设计”