工具癖系列之 Applenomics

工具癖系列暂停了一段,其实手中还压了几位朋友的投稿。今天这位 Applenomics 朋友,目前在美国做生物方面的研究工作,所以会侧重谈这个领域的工具。另外他还介绍了自己在 2007 年底用 Mac mini 搭建的一套 HTPC (Home Theatre PC) 系统。我特别喜欢他用 Wiki 系统记笔记的做法。—— 编者。 先怀念一下自己是怎么转到 Mac OS X 平台上来的。 N 年前读研究生时需要解析基因组分析结果,都是些巨大而工整的文本文件,任务常常是要挑选符合条件的某几行,把某几列重新组合一下,输出到另一个文件中,或是数某个特定的字符串有几个之类的。在 Windows 上做这种工作苦不堪言,就逐渐过渡到 Linux(最喜欢 Debian),通过 grep, awk, sort, uniq 之类的工具,将管道连起来,一个命令行就完成了。 后来想找个备份工具,把指定目录下一些特定的文件类型传到服务器上备份。开始想用 Windows 软件,猛搜一通,一个一个试用,没准还得找注册码,花了大半天时间也没找到个合用的,火大。于是自己用 Perl 写了个脚本调用几个 Unix 命令行工具,不到一百行就解决了问题,心旷神怡,工作平台就这样几乎彻底转向了 Linux。 可是那年头 Linux 没有现在的好用,所以浪费了无数时间配置 Linux 桌面之类的细节,娱乐方面也还不得不依赖 Windows。直到有一天知道了 Mac OS X 底下实际上是个 Unix 内核,自己喜欢的这些工具都可以在 Mac 上用,再看看人家那界面做的,终于在 2004 年买了个 Powerbook G4,投靠了 Mac 阵营。 Powerbook G4 是我的第一台苹果电脑。此物还挺皮实,有一次摔到地上,整个外壳都变形了,放在桌上只能三个脚着地,换了块硬盘,现在还在跑 Leopard 呢。不过 PowerPC 的机器升级到此为止了。 以前一直背着这个笔记本上下班,放下来觉得屏幕太小机器太慢,背起来又觉得太重。于是这两年我的主力机器改成在实验室用一台 20" iMac,2.66G Core 2 Duo,4 GB DDR2,家里的是一台 Mac mini,1.83G Core 2 Duo, 2 GB DDR2。两边都开了屏幕共享和 SSH,需要用另一台机器时就通过 SSH 隧道屏幕共享(家里的无线路由设了端口映射,SSH 口映射到 Mac mini 的 SSH 口),只要不到 100 KB 的带宽就足够一般的应用了。需要大文件时,就到 Time Machine 硬盘里找,或者 SCP 直接拷贝。两台机器上的 iTunes 曲库用 Unison 同步,这个比 rsync 好,是双向的。实验室的 iMac 平常是自动睡觉的,省电环保,想从家里要连上去的话,先 SSH 到不睡觉的实验室服务器上,通过网络吼一嗓子(wakeonlan)把 iMac 叫醒再连。家里么,我特意挑了个 Linksys WRTSL54GS 无线路由器,然后刷了 Tomato 固件,就是个超强的路由器了。原打算打开路由器的 SSH 登录功能,必要的时候 SSH 到路由器上吼一嗓子叫醒 Mac mini,但是要改端口映射等设置,太麻烦,就没有弄。我还想过找个带 USB 口的路由器,刷个微型 Linux,挂个硬盘,在路由器上 Bit Torrent 下载,多省电啊。后来觉得这么弄太变态了,算啦。在常用的几台机器上都设置了 IBM developerWorks 上给的那个 keychain 方案,免密码 SSH,省得我 SSH 隧道来隧道去的敲密码麻烦。 这套配置非常合用,现在再也不用背笔记本上下班了,全靠网络传,目前没觉得有什么不方便的。 Windows 要实现类似的互联好像不太容易,但我也有离不开 Windows 的地方,主要是涉及到国内的网站,一是网上银行、购物,二来我在悦读网定了些杂志,也非得用 Windows,这个就靠我的上网本 Acer Aspire One 了。它有 1 GB 内存和 4 GB 固态硬盘,我又加了张 16 GB 的 SD 卡。本来我一直用随机预装的 Linux,去年回国时发现真不方便,改成 Windows 了事,并做了一些固态硬盘方面的优化。这台机器在家里可以随手上网看看杂志什么的(说到随手,怀念一下那个 Linux 的二十五秒启动,叹一下这个 Windows 的二分半启动),最有用的是出门旅行的时候看片子上网,放在包里真是轻巧。有一次出去玩,在旅馆里顺手用人家免费的网络和打印机办了登机手续,第二天差点迟到,抓着头一天打下来的登机牌狂奔上飞机,没有误事。顺便说一句,东航飞上海到洛杉矶的航班号是 A340,每个座位背上都是一个一圆两扁的插座,正合适,打发了好多无聊的时间。但是到了国内,大部分插座是三扁,几次都害我用光电池,可怜我这个还不是六芯电池,只能待机两个小时,土。 我也是 Palm 的用户,从 TT 到现在的 TX,用于通讯录、日程安排(DateBk,好东西,Palm 上我唯一花钱买的软件),地图(连一个蓝牙 GPS)、看看电子邮件和 Google Reader、背背单词什么的。最后是 iPod Shuffle,图个轻巧。对手机没啥需求,手里这个是五美元买的(付二十五美元,给二十美元话费),话费预付,一个月五美元左右吧,嘿嘿。 总之,这几台机器,覆盖了我工作、娱乐、移动等各方面要求,非常满意。有点想给 iMac 再加一个显示器,用翰林电子书阅读器替代上网本的读书功能,把 Palm 升级成 iPod touch,不过都是可有可无的事情,就没有下决心了。 再说软件。 Mac 带给我的方便首先是它的 Unix 内核。所有我用惯了的 Unix 工具都可以运行,写些 Perl 程序、做些生物信息学相关的分析都非常方便。我装了 Xcode 和 MacPorts,从 MacPorts 上把常用的 Unix 工具都拖下来,生物学相关的主要是 EMBOSS 和 BioPerl。 我很久以前就开始用 Wiki 系统做自己的笔记,什么读书摘要啊、计划总结啊都记在这里。Wiki 做笔记的优点有:易写易读的简单格式化规则(纯文本不容易读,Word 文件格式专有,HTML 不容易写)、强大的正则表达式搜索、方便的文件间链接、版本控制。能做到这几点又免费好用的笔记系统不多吧?最开始用的是 TWiki,真叫一个强大,有个插件特别棒,写的时候敲个 Pubmed ID(生物类文献数据库),一串数字而已,显示出来却是一篇文献的名字、作者、杂志、年份什么的。我现在在实验室服务器上用 TWiki 做了个 Wiki farm 给大家玩,巨复杂的设置。TWiki 在我那个老笔记本上跑起来比较慢,前年下决心改成了 MoinMoin 的桌面版本,不需要操心什么设置,跑得也快,就是迁移花了我不少力气。七八年下来,这个 Wiki 笔记成了我最重要的知识库,不但 Time Machine 里有备份,还定期打个小包扔到 Gmail 里。 特别说一下,想在网页上(包括 Wiki 系统)里显示完美的数学公式(TeX 级别的),得用 jsMath。TWiki 和 MoinMoin 都有插件支持,只要把几个文件放到合适的位置,再装几个 TeX 字体就好。这东西的缺点是显示的公式太好看了,以至于我做读书笔记的时候有事没事都想抄两个公式到 Wiki 里,然后把玩半天,真浪费时间。我挺喜欢 LaTeX 结构化的概念,在苹果上也整了一套,还玩了几天 LyX,最终还是发现在生物领域用处不大,特别是咱短时间内还不用写大部头的书,也就不再玩了。 再扯远一点,我看书非得写笔记,否则都不愿意看书。手头有电脑就边看边敲,没有呢就找张纸写下来,回头还得重看一遍把笔记敲到 Wiki 里,真是麻烦。回国时看到扫描笔的广告,可以扫下来做笔记,很感兴趣。淘宝上找到个大概卖一千元多点,正打算下单呢,顺手搜了搜做硬件的以色列公司 Wizcom,结果居然在亚马逊上找到个一模一样的,号称可以扫描识别中文也有汉英英汉字典,才不到七十美元!(我是不是应该在淘宝上开个店,从亚马逊向国内倒卖?)买回来一看,中文识别部分是汉王的软件,看书时有少量句子很方便就扫描了记下来,回头传到电脑里(该死,只有 Windows 软件)。中英文识别率还行,当然专业书中出现点符号,扫描笔就傻眼了。不满意的有两点,一是扫一行就得停下来让它思考一下,不能连续扫,所以大段文字还是不方便;二是那个英汉词典比较弱,专业词汇就更不行,我写信问他们能不能给个软件我自己转个专业词典,他们说有协议限制不允许的。总的说来,能用,但没有想象中那么牛。这个算我 Wiki 系统的硬件扩展啦。 生物学文献管理,最开始当然是把 PDF 放在一层又一层的文件系统里,没法搜索还不好归属于多个类别,于是自己写了些脚本,把 Pubmed 中的 meta 信息和文献的 PDF 联系起来,还琢磨着弄个 MySQL 数据库来管理。然后看到了 Papers 软件,这是两个学生写的,好像拿了苹果的一个设计奖,它最实用的功能是 Smart collection,跟 iTunes Smart list 还有 Mac OS X 的 Smart folder 都是一个概念。这样就再也不用把 PDF 堆得到处都是了,看到好的文献就导入 Papers,配对到 Pubmed 信息以方便管理和搜索,这个配对过程大部分都是 Papers 用 PDF 的 doi 信息自动搜索到的,自己还可以再写点注释,差不多就会自动出现在合适的 Smart collection 里了。EndNote 更适用于写论文时管理引文,但管理日常文献时并不方便,大家应该还是读论文比写论文多得多吧,所以强烈推荐 Papers。 生物序列分析,最著名的应该是 Vector NTI,他们还一度推出过学术界的免费授权码。可他们的 Mac 版本不更新了,我写信去问,人家说开发资源有限,所以就专注在 Windows 平台上了,反正你们 Mac 可以运行虚拟机啊、Boot Camp 什么的。真是不爽,最重要的是我一直不习惯这个软件。找啊找,发现了 MacVector,这才是个真正的好东西,可以做序列的常规分析、作图(序列 feature 的图示要比 Vector NTI 灵活得多)、引物设计(primer3 算法,图示的结果特别直观方便)、测序确认(就是把测序结果跟你的 reference 对比着看,同时显示测序的 chromatogram,错配的地方到底是真正突变还是测序出错一目了然)等等。可最让人抓狂的是,这个东西的授权码要两千美元一个!我去找系里,系里说对不起我们已经买了 DNAstar 了,又去找 MacVector 公司软磨硬泡,给他们提了一堆改进意见,要求给我个「热心用户授权」,人家态度倒是很热情,但就是不给。郁闷。 其他学术软件么,我用免费的 R,学校提供的 Office, EndNote, MATLAB 等。特别喜欢的小工具有 Quicksilver(可以用于敲键盘启动软件啊、系统剪贴板管理啊、小计算器啊、计时器啊等等),Name Mangler(批量重命名文件),其他软件跟大家都差不多吧,没太多好说的。对了,中文输入没有拼音加加,真不爽。经常看 Lifehacker 网站,他们时不时介绍点有趣的东西,估计技客们都喜欢。 最后说说我很喜欢的 HTPC 系统,以一台 Mac mini 为核心,通过家里的液晶电视和音响系统,可以看照片、编辑录像、做网页、听音乐、看视频、上网、下载、看 / 录电视、玩游戏、备份文件等等。 Mac mini 的好处是又小又安静,当然它还是个 Mac 系统。我最开始有类似 HTPC 的主意时弄了个旧主机,想装个 Ubuntu 做家里的服务器来着,可很快就被 LD 禁止了:太吵。于是买了这个 Mac mini,连了以前的一台平面电视(那种模拟电视可没有 VGA 口,费了我不少力气才连上),结果能看出来是个苹果的界面,却没法读字。开始我还想凑合凑合,可有时候跳出个对话框我就傻眼了,不知道它想说啥,幸好 LD 大人这时已经意识到这个小东西读各种视频格式的能力没有任何 DVD 机能够媲美,终于批准了升级到液晶电视,于是才逐渐搭出了这个系统。 目前的外围设备有:

  • 视频输出用 DVI->VGA 连一台 32" 液晶电视(也可以用 HDMI,我没试。设置分辨率花了些时间,最后用 SwitchResX 搞定)。
  • 音频输出用 Toslink(Mac mini 的耳机插口同时也是光纤的音频输出,第一次知道时大吃一惊)连到一台 5.1 声道的音响设备,当然我这个还是很低端的系统。
  • 再接一个 500 GB 的外置硬盘用于日常娱乐,一个 1 TB 的外置硬盘用于备份大的电影电视文件(这些文件不会经常改动,几个月才会用 Unison 同步一下),一个 300 GB 的移动外置硬盘做 Time Machine、备份照片、音乐和系统(这些文件改动频繁,三五天就会接上备份一下)。本来还有个 100 GB 的老硬盘用于 aMule 下载,到了五年大限后就坏了。
  • 无线键盘鼠标,Mac mini 还自带了个遥控器,方便坐在沙发上操作。
  • 视频头,用来和国内父母连线。
  • Mac mini 的无线信号似乎不太好,也许是我放的位置不对,干脆花二十五美元买了个 USB 无线网卡,接家里的无线路由器。
  • 另外还有个 EyeTV,就是个 USB 的 TV tuner,一头连个普通的电视天线,一头 USB 连机器,就可以收到六十多个免费的数字电视信号(美国现在全改数字信号了),EyeTV 软件自己去下载节目表,然后可以挑喜欢的节目让它自动录下来有时间再看。不过我就是有时间看现场节目,也要等有个半小时的缓冲后才开始看,因为广告多得令人发指。录了半个小时后,我就可以跳着看了。EyeTV 不能自动切广告,不过能跳也就无所谓了。去年的奥运会啊,还有连续剧《24》啊,我都是用这个看的。
  • 最后电视上还连了个 Wii。

(岔开一下,做研究做多了,啥都喜欢测量一下,我买了个 Kill-a-Watt 电量检测器来量这个系统的耗电量,结果发现液晶电视 120 瓦(黑屏时候还有 100 瓦,所以不用了应该关机,没想到电视很耗电,我家冰箱工作起来才 130 瓦)。手头现在没有 Mac mini 的数字,只有 iMac 的,启动时 70 瓦,日常运行 50 瓦,黑屏后 30 瓦,睡着后是 2 瓦。老 Powerbook 运行时 22 瓦;我猜 Mac mini 大概是 30 瓦左右吧。) 软件上用 iPhoto 管理家里所有的照片,iMovie 编辑儿子的录像,iTunes 管理音乐,从这些照片录像音乐里挑素材用 iWeb 做成网页给国内的亲戚朋友看(iWeb 以前还不支持 FTP,我就发布到本地,然后 rsync 同步到服务器上去)。感慨一下,iLife 这套软件也是我用 Mac 的重要原因,简单的操作强大的整合,方便!用 VLC 放各种视频,用 MacTheRipperHandBrake 拷贝 DVD,用 Boot Camp 装了个 Windows,偶尔玩玩游戏,或者用 VMware Fusion 操作这个 Windows 用来管理一下国内的银行帐户买点东西啥的。 前段时间玩了一下 Plex,是个媒体中心软件,界面超炫,只要把你的视频文件按一定规则命名,软件就去 IMDB 找海报啊、介绍啊什么的,显示出来的就是 DVD 封面和大幅海报背景,操作更是简单到只用 Mac 自己的遥控器就可以。 还有个很好玩的软件叫 Delicious Library,他们拿了好几次苹果设计大奖,是用来管理书、唱片和 DVD 的。输入 ISBN 或者书名,它就去亚马逊把相关信息都传下来。它还可以用摄像头当条码阅读器,理论上把书在前面晃一晃,它就把所用的信息都找到。实际用的时候,位置得对得很准,有那时间我都把 ISBN 数字敲进去了,所以很少用这个功能。传说它有几个很滑稽的彩蛋,例如输入个《星球大战》的 DVD,它会来一句 'I am your father',维基百科上有介绍,可我整了几次也没整出来。 啰唆了半天,希望能对大家有点用。我这里还有个问题搞不定,拿出来请教一下。前些日子 Mac mini 上常用的帐户突然不能访问用 HTTPS 协议的任何网站,其他帐户却可以。我把那个帐户下的 library 目录全删掉,一样;把 /system/library 全删掉,还是一样;重设一下 PRAM 也不行,太妖怪了。想过迁移帐户,最后还是重装了之。安稳了几个月,这两天这毛病又犯了。哪位给指点一下?先行谢过。