Category Archives: 阅读

当前的阅读方法和工具

阅读是获得知识的主要途径(另一个是交流),怎么样挑选要阅读的内容、怎么样高效地利用工具以保证阅读效果和效率,是值得花心思的。

我把阅读分为几类:资讯、论文、书籍、延伸。对这四类,分别用不同的方法和工具来管理。

资讯

资讯的特点是:来源很多,每天都有,绝大部分不重要,但也需要看。从聚合的角度,最好的方式是RSS;从筛选的角度,很可惜,我知道的范围内,目前还没有新闻推荐的服务或应用。

主要的平台是Google Reader。国内也有很多在线或者本地的RSS阅读工具,使用Google Reader只有两个理由,一是简洁,二是能抓取墙外博客(blogspot上有不少高质量内容)。

在本地,使用Reeder阅读器,它的主要优点有三个方面。一,良好的阅读效果,包括一致性的排版以及内嵌的webkit浏览器;二,与Google Reader的完美交互,包括双向的同步,同步内容则包括订阅源、新闻、用户习惯,这样可以保证在本地的点击情况依然会被Google统计,进一步形成阅读趋势统计数据;三,与Safari的完美结合,可以自动发现页面的RSS源,一键订阅到Reeder中(最后同步到Google Reader上)。另外,Reeder支持发送到Read It Later(Pocket),这个非常棒。

在手机上,使用网易阅读器。主要是到现在仍然老土地使用2G网络,流量很少,所以希望有离线阅读功能。网易的新闻和阅读两个app是近一年我见过体验最好的两个应用,除了支持完全的离线,使用起来也很舒服。用网易阅读器读Google Reader中内容比较麻烦,因为网易想搞自己的一套服务,直接与Google Reader为对手。两种方法,一是把Google Reader中订阅的源一条条再导入到网易阅读器中(不得不说,后者的功能还是比较缺乏的,比如批量导入导出,比如所有新闻放在一起看等,都是基本需求),因为网易阅读至今还不支持不同来源混合到一起显示,只能一个个源地看,所以很不推荐——如果订阅了100个博客,在这里就会有100个栏目。另一种方法是,在Google Reader里对这些源做成群组,然后公开,拿到公开的atom源,导入到网易阅读器。主要缺点是,经常抓取出错。

内容管理上,我把所有源归为四类,一是个人的收藏,以小众网站和博客为主;二是普通媒体,大量产出价值不高新闻为主,例如cnbeta这样的水站;三是下载更新类的,比如itpub或者皮皮书屋,更新很多但只用看标题;四是工作相关的资讯和网站等。以前是按来源类型分,最后分类基本没有意义了。这样分,对个人收藏的类别,一般都是精读;对普通媒体,时间很多的时候或者无聊的时候翻一翻;对第三类,定期排查,就可以了。

此外,关于前面提到的Read it later,可以把所有需要细读的文章离线下载到手机里或者本地,利用空闲时间来读。

论文

对论文和报告,最近开始用Papers2来读。这是个非常棒的本地科研管理平台,对阅读pdf来说,全文搜索、高亮标注、页内笔记等,都是很实用的功能。其他方面,包括论文管理、导入导出、检索等方面也很完美。只希望以后会出现论文推荐的功能。

书籍

目前用Kindle DXG。普通Kindle用来读非技术书已经足够了,而且便携。但是看里面有代码的,有图表的,还得是DXG。把系统升级到3.2.1,然后越狱刷中文字体后,无论是显示效果还是刷新速度,都已经可以接受。

关于在amazon买书,如果淘宝一下,会有意外的收获。

实体书依然无法替代。一是Kindle实在不适合随机翻;二是还是有一些中文书不错的。

大的打算是,希望把实体书逐渐电子化,用Papers2来管理和阅读。

延伸

与学习一样,阅读最大的问题不是没去看什么,而是不知道自己没看到什么。也就是说,依然存在如何扩宽视野,接受别人推荐的问题。

对书籍,现在用豆瓣来管理,然后用豆瓣的推荐功能,基本ok。

对资讯,目前用Reddit和Hacker News两个平台,看看相关topic下热门的话题是什么,看看别人推荐的东西。

再次可惜一下,我知道的范围内,还没有针对资讯和论文的个人阅读习惯的推荐服务。希望哪一天可以看到。

保护树木,无纸生活

在《Linux/Unix设计思想》中,提到“保护树木”原则。大概意思是,数据应该存储在内存、磁盘或者网络上;一旦将其打印到纸上,就无法再次移动、筛选、排序、修改、转换、检索、加密等。

看到这里,把“数据”缩小一下范围,变成书籍、论文和笔记这几样东西。发现以往的想法确实有些问题。

看实体书,如何快速查询某一个关键词?怎么摘录?怎么做笔记或者标记?做了笔记/标记以后又怎么提取它们进行分享?怎么再次查找?对论文、对写到笔记本上的笔记,也有同样的问题。

相反,如果用电子书、电子版论文、电子的笔记,上面的问题就都很好解决了。这也是一个数据处理的问题,当数据固化到纸面上,不论是打印下来的还是手写下来的,就无法再次处理了。而从Unix的观点看,无法再次数据的数据,价值为0。

把这些阅读和记录,从纸质媒介转到电子媒介,遇到的主要问题可能是工具。硬件上,笔记本、平板、手机是自然的选择,而且各有其用(但是感觉用MacBook Air的话,平板可以省掉)。软件上,阅读和笔记软件,最近在使用Papers、Evernote和FreeMind,感觉还不错。尤其是Papers中对PDF文件的管理、批注、高亮功能,非常棒。

另一个问题是电子的书从哪里来。目前的解决方案是,看amazon的kindle书。绝大部分值得读的书,都有出kindle版。最后的问题是国内的书,这个只能尽量采用图书馆共享的方式了。

从过去几个月的实践看,我对不用纸的阅读和记录很有信心。

将电子书转为Kindle友好的格式

除了dxg,其他型号的Kindle最大的问题在于屏幕太小。以下是一些不完美的解决方案,以Kindle 4 keyboard为例:

1、pdf文件

用briss切除白边,在Kindle上横屏阅读。最终效果取决于pdf文件页心的宽度。briss的地址是:http://sourceforge.net/projects/briss/

2、epub文件

现在很多出版社都出售epub格式电子书了,比如Weily, O’Reilly,但Kindle一直不支持。使用calibre可以转换为mobi格式,因为都是基于html和css的格式,所以效果很完美。calibre的地址是:http://calibre-ebook.com/

3、html文件

有的书可以下载到html文件,比如Practical Common Lisp。将整本书的zip文件,或者解压后的index.html文件导入calibre,即可转成mobi格式,效果同样完美。

4、TeX文件

还有的书开放得更彻底,提供了LaTeX源码,例如Paul E. McKenney的Is Parallel Programming Hard, And, If So, What Can You Do About It?。可以自己下载了源码,使用TeX Live编译为适合于Kindle屏幕大小的pdf文件。尝试了几次,对竖屏来说,较好的参数如下:

\documentclass[11pt]{book}
\usepackage[paperwidth=9cm, paperheight=12cm, top=0.1cm, bottom=0.2cm, left=0.1cm, right=0.1cm]{geometry}
\special{papersize=9cm,12cm}

对横屏,则应把其中的宽改为12cm,高改为8.9cm。效果比较好,除了部分大的表格和图片会超出纸张大小。

5、txt文件

主要是小说了,用calibre转换即可。在转换选项中,calibre默认页面边距是5pt,可以全部改成0pt。

乐土不再:评《黑客》

Hackers: Heroes of the Computer Revolution这本书很早以前就有了,但是在对Hackers and Painters和Coders at Work失望以后,一直没有打算读一读它。直到出了中文版,买了一本来翻一翻,于是大呼万幸。

这是一本极好的书。它没有掺杂个人意志,作者只是站在旁观者的角度去描述那一段史诗般的岁月——而那些时光已经完全被现在的人所遗忘。阅读的过程就是不断震撼的过程,看那些纯粹的人不断地创造历史和挑战自我,仿佛可以呼吸到MIT科技广场大楼9楼的那种嘈杂的空气。

然而这样的场景、这样的人已经很难再有了。为什么无法重现?这是我一直在思考的问题。结果是:外因——钱、内因——复杂。

无论多么崇高脱俗,也不得不承认钱是重要的东西,至少需要用它维持生计(当年有个人为了不被国防部门调去用IBM的烂机器,不得不想办法搞到3K刀付了违约金,然后继续开心地用PDP-1)。当年ARPA为目的不明的基础研究源源不断地支付大笔的费用,仅仅是为了将来国防上需要用到什么的时候,能从这些支助项目里找出一些可用的技术来。赞美你,纯洁的国防部……这些费用支撑起9楼,让这群hackers能无忧无虑地玩spacewar。

然而,慢慢地ARPA开始现实起来,不再撒钱。这成了衰落的最初原因。

随着技术和产业的发展,以及计算机的普及(又是hackers的功劳),也有人发现了其中蕴含的大量商机。这些人包括:内部的、外部的、恶意的。

最典型的内部的例子是Symbolics公司,这个制造了最强大的Lisp机器的企业,不但从MIT分化成为纯商业公司,还不断地从9楼挖人。正好这些人很难拿到ARPA的资助了,于是开始进入商业的圈子。Gosper,这个领袖,就走了这样的道路。而现在,他一边做独立咨询的工作,一边继续玩数学、分形和Game of Life,从未磨灭的兴趣再也无法支撑自己的生活,让人唏嘘不已。

最典型的外部的例子是Microsoft公司,完全不用多说。Gates打破了hackers最优秀的传统和约定,推动法律将代码保护起来并直接卖钱。这一产业开始形成,一方面大量的人发现赚钱是如此容易,另一方面自由交流带来的损失会如此巨大。Gates说他自己是真正的hacker,显然他没读过这本书。

恶意获利的例子来得最晚。最早的恶意代码和恶意攻击都是圈子里的人在展现自己无所不能(就像在9楼做的事一样),甚至第一个rootkit就是Ken Thompson公布出来的。直到八十年代末才出现ransom类的木马,加密了文件以后敲诈受害者,而大规模的获利性攻击直到九十年代中期才出现。无论如何,这些恶意的获利者进一步促使了技术的封闭——虽然这种认为不被人知道就安全了的想法不怎么正确。

接下来看内因。系统的不断复杂使得后来的人很难具有第一代hacker的能力了。

最早,hackers对硬件、系统(哦,操作系统就是他们写出来的)、软件(软件也是他们写的,工具链也是他们写的……)有着无与伦比地了解。主要原因应该是本质地简单。TX-0的操作数前2位指示指令类型,也就意味着它只有4条指令——搞x86开发的人看到这句话一定是泪流满面的。PDP-1也不怎么复杂,而PDP-6干脆就是根据他们的需求设计出来的。为了减少指令,这群人甚至拆开机器,接上几个元件,就给它增加了一条指令——这一切只花了一个晚上。这真是乐土。

不到五十年,一切都变了。再也找不到一个对硬件、操作系统、编译器/汇编器、软件、人工智能都熟练的人。这是任何一种知识发展的必然(最经典的,Poincaré之后,再无全能的数学大师),但也够让人悲哀的。

不仅如此,现在的一切都被封装得妥妥当当。做开发的人再也不许要了解硬件,甚至连内存和CPU都不需要了解,更不会去管指令的手工优化。还有谁会在没有上机时间的情况下把代码写到纸上,精雕细琢?还有谁在现有工具用起来不舒服的时候,自己从头再去写一个?恐怕大部分人连什么是“不舒服”都不清楚,而会去评价并换另一个工具的人反而成为了牛人。

无论如何,复杂+对复杂的透明封装,一方面带来了方便,但另一方面又让人失去了什么。可以赞美这种伟大的现状,但也能从中回想到一些被集体遗忘的东西。

推荐几本英文写作的好书

1、The Elements of Style

豆瓣链接:http://book.douban.com/subject/1433835/

这本书是英文写作的bible,是一本必备的、应该每年读两次的书。

它的名气之大,以至于后来出现了无数本The Elements of xxx Style的书,甚至这些“衍生”的书都成了名著,比如The Elements of Programming Style。这一段可以参考徐宥的博文《编程珠玑番外篇-7.比代码大全好的两本书B》。

对这本书的推荐很多,就不需要我赘言了。说一下版本。

如果有可能,最好是买一本原版的,第四版或者50周年纪念版。目前卓越和淘宝上就可以买到。在amazon购买的话,一定要看清楚版本号。因为第一版已经没有版权问题,所以特别便宜,不要错买成这一版。

1992年,国内基于第三版译了一次,书名为《英文写作指南》,翻译质量不错,但已经买不到了。在孔夫子网还偶尔能淘到几本而已。

2009年,国内又出版了一个基于第一版的(又是出版商为了避免版税的不负责任产物),书名《风格的要素》,质量极差,一定不要买。

原版和中文第三版都可以找到电子版,此外,搜索一番的话还能下载到有声读物。

Continue reading