Time Machine 的 bug

第一次见到 Time Machine,是在苹果刚发布 OS X 10.5 Leopard 的演示视频里,当时给我的感觉是震撼的。虽然把所有的资料都进行备份的必要性有多大,不过在一个图形界面中,迅速的找回了一个已经被删除的文档,还是十分抓人眼球的。在看这个视频之前,我对 Mac 系统是没有什么印象的。但这个视频让我了解了 Mac 的很多让我很羡慕的功能,我把这个视频下载了下来,看了很多次,一直到我自己买了一台 MacBook。

虽然促使我买 MacBook 的原因之一就是 Time Machine,但这些年我实际上并没有使用几次 Time Machine。这几年来,我并没有在我的笔记本电脑上保存多少重要的文件,即使有比较重要的文件,我也可以把它们保存的很好,放在绝对不能删除内容的文件夹里,因此基本没有让我后悔的情况发生。去年,我买了群晖的 NAS,也是看中了它可以为 Time Machine 提供存储空间,以此达到真正的无时不刻的备份功能。虽然我基本还是没用用过 Time Machine,但还是因为有了 NAS 而对数据安全更加放心。

这两天我要安装 Windows,过去我下载过 Windows 7 的安装镜像,但后来应该已经删除了。这次想重新找出来,于是就借助了 Time Machine。结果这次 Time Machine 让我失望了。

Time Machine 让我印象深刻的一点,是它于系统的无缝结合。除了定点恢复外,可以在 Finder 里进行搜索,在搜索窗口里打开 Time Machine,然后可以针对搜索结果进行回溯,更加容易的找到要恢复的文件。这次我也用了这个功能,设定了关键字,还设定了文件大小,然后进入 Time Machine,没有找到不说,Time Machine 连带着 Finder 竟然崩溃了。Finder 似乎还被重置了一些设置,比如左侧的常用目的地都没有了,我只好重新设定添加。这不是偶然,我重新进行了一次,又发生了这种情况。

我没有想到有一天 Time Machine 竟然失效了。我只要在家,Time Machine 就定期备份着,虽然我用的少,但它给我了一份安全感。这次,这份安全感被破坏了。这让我很不爽——岂不是说,我的这些备份都白费了吗?

近几年,苹果对 Mac 的宣传中,似乎不怎么提起 Time Machine 这项功能了。Mac 本身,也从过去的着重于桌面设计的设备,变成了着重移动计算、娱乐的笔记本设备了。Time Machine 似乎不是很适应这个场景了。苹果的软件设计,印象里被人诟病不少,我猜也许 Time Machine 已经不怎么被维护了?也许最终会被砍掉?但愿我想错了。

Mac 比 Linux 好的一点

从上一篇文章到现在,我一有空就开始调教我的 X250,准备把系统弄得好用一些。Arch Linux 的 wiki 实在是让人感动不已,简直太全了。国内的用户也很用心,很多文章都有简体中文版本的,非常方便。跟着这些资料,以及一些前辈的博客,我不知不觉的就把系统弄得足够漂亮了。原先别扭的汉字,现在看着字体也顺眼多了。可惜这个东西,要想仔细观察,工作量太大,所以我也不知道是因为我编辑了哪个文件还是装了哪个包所导致。

有段时间我一直没写维基,主要是没什么精力和心思。维基这东西需要动脑整理,现在没有很强烈的意愿要把一些事务性的东西整理出来了。有时候有空,也只能写写博客,其实多数情况下还是懒惰,不过是在是不想把网站给荒废了,所以激励着自己动手敲字。维基就不像博客这么随性了,不大容易。今天我在维基上开了一个新的记录,专门记录 Arch Linux 的信息。因为之前安装配置的时候,实在是没有想到这个系统能够这么好用,因此也没有有做记录的想法,现在只能靠回忆,来尽可能的填一些东西。看看从 2012 年 2 月 1 日开始的记录,这几年匆匆过去,简直像眨眼一样快呀。

记录一个这几天使用 Linux 的感受。之前一直用 Windows、Linux,也没有感觉,可从 Mac 上切换过来后,就有点不适应。在 Mac 里,不管是在什么地方,只要是个文本框,都可以用 Emacs 风格的快捷键来移动光标。比如 Ctrl+a 到行首、Ctrl+e到行末等等。这是非常符合 UNIX 传统风格的。可在 Linux 里,这个功能似乎是失效了,至少不是默认的,这让我觉得有点被打脸的感觉,Mac 在程序员当中的流行,真的不是靠运气的。

真不是盖的啊

今天因为需要下载一个大软件,于是想起了我之前买的 Parallels Bundle 9 套装里有几个软件我还没有使用,其中就有 CleanMyMac,这次正好派上了用场,于是就把它们装上。这套 PD9 中,PD 本身很有用,1Password 是我一直想用的,Fantastical 我还觉得没用,OS X 系统自带的 Calendar 程序(不知道从哪个版本开始不叫 iCal 了,Snow Leopard 还是这么叫)我觉得就够用了,iPad 上的 PD Access 我没有 iPad 自然也用不上,剩下的软件我都挺喜欢的,但是还没有发生需要用它们的情况,所以一直没装。

剩下的两款软件,出了 CleanMyMac 外,另外的一个是 MacHider,都是一家公司出的。CleanMyMac 我很早就知道了,它是一款清理 Mac 系统的软件。MacHider 根据介绍,是一款 Mac 系统的保密工具,它可以隐藏一些你不想让别人看到的东西。我于是把它们都安装上了。

这两款软件给我的印象都很深刻。我还在用 MacBook 的时候,印象里尝试过 CleanMyMac 的试用版,印象不错,不过这么多年下来也淡化了。这次它又重新的震了我一下,上来就给我清除了 3.16GB 的文件。很多东西都是显而易见的,比如应用程序中的语言包,我只保留了中文跟英文,这些的体积就非常可观。除此之外,它还找到了我硬盘里的大文件,它们是我下载的高清版本的 Apple Keynotes,不过我还舍不得删除它们。最后,CleanMyMac 还允许我删除我不用的软件,所以我把我大概永远也不会用的 iMovie 和 GarageBand 给删除了,它们占据的空间可真够大德。另外,我发现 iPhoto 的体积居然超过了 Aperture,这让我小小的吃了一惊。通过点几下鼠标,我方便的清除了数 GB 的文件,这种便利可不简单。

MacHider 则是一个惊喜。我看了网站上的介绍后就喜欢上这款软件了。我有一个目录的文件最好不要让别人看到,于是我就简单的把这个目录拖到 MacHider 的窗口中去,然后当我退出了 MacHider,这个目录就消失了。当我再次启动 MacHider,目录才会重新出现。当然,这里面少不了密码的保护。

这两款软件毫不客气的向我展示了优秀的 Mac 软件是什么品质,它们不是那种在 Windows 下流行的粗制滥造的 freeware 可以比较的。CleanMyMac 的售价为 39.95 美元,MacHider 则为 9.99 美元,我对它们的售价相当服气。尽管要我出这个钱我现在是不会买的,而是自己忍着不用,不过我觉得它们真的值这个钱,这种便利性实在是太可贵了。

现在 Mac 的体验更好了

ME865 到手也有几天了,这几天使用下来,让我感触良多——我没想到几年的发展之后,Mac 的使用体验竟然会达到如今这个水平。

我第一次详细的了解 Mac,是在一个名叫 OS X Leopard: Apple’s Official Guided Tour 的视频(movzip)。这是苹果官方推出的 Leopard 宣传视频,当时 10.5 系统刚刚推出,这个视频中介绍了各种 10.5 系统的新特性。其中一些特性深深的吸引了我,比如 Spotlight,那段时间我对系统搜索比较痴迷,尤其是看了 Nat Friedman 录制的 Beagle 的演示视频后,我就一直想在我自己的电脑上弄上这么一套系统。到后来我在用 Linux 的时候也弄了 Beagle,虽然那时候已经没多少人用了,它本身的效果也不怎么样。后来看了 Spotlight,我突然感觉到一个把搜索功能集成到系统级的操作系统,一定不错。除此之外,还有其它一些比较贴心的功能也很不错,比如从收到的电子邮件里直接提取出约会的日期并自动在日历应用里添加项目,还有通过 iChat 聊天时,可以分享桌面,替对方操作机器等等。这个视频我看了很多遍,每次都看的津津有味,也就是这个视频,让我对 Mac 系统的印象一下子从非常遥远拉近了很多。

后来在留学时,有一天我的室友买回来了一台 2007 年出的 MacBook,他不是学计算机的,有些问题就需要我来解决,我也趁机的亲手试了一下 Mac,有些设计我还是觉得非常贴心的,一改在不了解时的古怪感觉。比如键盘,亲手复制粘贴了几下后,我发现 command+c/v 比 Ctrl+c/v 按起来更加舒服。巧的是我自己的 DELL 笔记本的显卡出了问题,在大陆之外又没有保修,时间还正好是学期末尾,用电脑的重度时期,我的室友就把那台 MacBook 借给我来救急。那段时间我渐渐的开始了解 Mac 系统。从新手开始用气,中间也走了一些弯路,比如写程序不知道有什么好的编辑器,只好买了 TextMate,到后来我知道了 CarbonEmacs 后,我用 TextMate 的次数用十指都能数的出来,不过我的写作课的论文都是用 TextMate 来编辑的 LaTeX,也算是有点用处了。学期结束,我也要买一台自己的笔记本电脑,这个时候我就考虑要不要买一台 MacBook。Mac 之外的选择是可以跑 Linux 的本子,在用 MacBook 之前我在笔记本上用 Linux 工作了半年左右的时间,感觉也非常好,我还想继续用下去。最后考虑了之后,我还是向 Mac 的方便、完整妥协了,买了开箱即用的 MacBook,一直用到现在。到今天看来,我对 Linux 在桌面领域的发展非常感慨,如果我当时选择了 Linux,当时需要很长时间为兼容性折腾不说,到今天也许会陷入 Linux 桌面上使用不便的苦恼吧。

当时实际上使用了 MacBook 后,我还是有一些失望的,比如说在邮件中自动添加日历项目,我基本上没有用上的时候。更重要的时 Spotlight,我发现它的效率是使用它的一大障碍。我启动它之后,要等上数十秒钟才能够让我搜索,这根本就是违反了桌面搜索的真谛了吗!有了这十多秒钟,我干脆进 Finder 自己去找文件算了。到后来我基本上没有再使用过 Spotlight。还有也是效率问题,是 Dashboard 的。它也特别慢。开始的时候我在里面添加了字典、便签、单位转换这些 widget,但当我启动 Dashboard,它要读一阵子硬盘,然后才能让我输入,这就太让人痛苦了。偏巧我还经常用单位转换来转换汇率,每次都要等这么一段时间,非常难受。到了后来效率问题更加严重了,这次是整个机器的效率问题。我现在印象里刚买回来的时候 MacBook 工作的还是相当流畅的,虽然好像比我的运行 Linux 的 DELL XPS M1330 要慢那么一忽忽,但也是非常流畅的系统了。后来苹果推出了 10.6 Snow Leopard,我用原版的光盘升级后,速度就慢慢的开始降下来了。我后来写了很多苦恼于效率的博客文章,都是在这之后发生的。几年前我的 MacBook 就处于这种状态了,我最后也只能忍了,一直忍到了现在。

这次我买电脑,因为受了效率问题的教训,我比较执着于内存。开始的时候因为考虑价格,我想买 13 寸 MacBook Air 最低的那款配置,觉得 4G 内存应该差不多,后来从网上看了人家的经验,我就渐渐的转向了 8G 内存,实在是吓怕了。当然也有其它的考量,我最后买了 rMBP,这些在我之前的文章中有叙述。

经过了这几天的使用,我发现这台电脑跟我之前的 MacBook 比起来,真是一个天上一个地下,这感觉真是不能比啊。最明显的其实还是效率,我开始时没有安装 Launchbar,所以用了几次 Spotlight,结果非常让我吃惊。打开后直接就可以让我输入不说,我输入后没一会儿就出现了丰富的结果,还包括我邮箱中上万封的邮件,这效率让我感动的想流泪。

还有其它的一些我一直没发现的改进。比如 Mail 应用,我在刚买来 MacBook 的时候,就用 Mail 来管理我的 Gmail 邮箱。结果不是非常好,出了会在我的邮箱中建立一些新邮箱外,用到后来还会有两者同步不起来的错乱问题。到后来我重装了一次系统,直接就把 Mail 从 Dock 上给拖出去了,宁愿用网页版的也不再用客户端了,到后来我用 Gnus 管理过邮件,感觉也比较好。更换了邮箱地址后,我学会了用归档功能来清空收件夹,而在我的 MacBook 上的 Mail 程序还不支持归档的功能。我用三星手机时就感觉到邮件客户端不支持归档让我非常不习惯。我这台新电脑到货之前,我在 MacBook 上试用了一次邮件功能,结果感觉比较糟糕,设置上的困难就不说了,没有归档功能,而且对话都分散开了,难用。我一直不明白为什么苹果对 Gmail 这个流行的邮件系统支持的这么差,过去苹果对第三方邮件系统支持的最好的时雅虎邮箱,从它们的宣传视频上就能够看出来。

没想到在 10.9 Mavericks 系统上的 Mail 程序有了很大的改变,Google Apps 账号我从 System Preferences 里的 Internet Accounts 面板里就添加了,然后在 Mail 程序中自己就出现了。不过 Mail 隔了很长时间才开始下载邮件,不管我手动刷新多少次都没用,害我以为没有配置好,还要去 V2EX 发帖询问呢。结果我帖子快编辑完了发现 Mail 开始下载邮件了。这之后就正常了,我发现 Gmail 归档功能可以很好的支持,本地的垃圾过滤邮箱跟 Gmail 自己的 Spam 邮箱也可以很好的配合。当我把归档的按钮拖到工具栏上之后,我发现 Mail 客户端已经基本完美了。

我的那台 MacBook 最高只能支持到 Snow Leopard,所以后来推出的 Lion 和 Moutain Lion 我都没有用过,可能在这当中我也落下了一些东西。这次我才发现原来 Contacts 和 iCal 都可以很好的跟 Google 账户同步了,在过去它们只支持 MobileMe 的。现在这样已经让我觉得非常完美了。

总之,现在这台电脑让我非常满意。我想不光有软件的原因,硬件上的强劲应该也是让电脑运行流畅的重要因素。现在这个样子才让我觉得真正发挥出来 Mac OS X 的威力。

许可证惊魂

昨天早上我买的 ME865 到货了,我开始把一些东西从旧的 MacBook 上转移过来。多数情况下都没问题,自从 Mac App Store 推出后,我都金肯能的用它来安装应用。购买 MarsEdit 的时候我是忘了,结果还要输入一遍许可证号。好在它的许可证号可以方便的从软件中查看,因此十分顺利。

可到了晚上,我却怎么也找不到 Launchbar 的许可证号了。邮箱什么的都搜索遍了,就是找不到。Launchbar 软件的许可证页面有许可证的前几位,后面几位都被保护起来了。后来我去了它的网站上,看到有一个找回许可证的功能——如果你找不到许可证,那就输入你的邮箱,系统会把你的许可证发送给你。我一看这个功能很贴心啊,于是就输入了邮箱。过一会邮箱收到消息了,说是找不到我的邮箱。

我考虑了一会儿,悲哀的发现原来我购买的时候使用的是我的上一个邮箱 liufeng@cnliufeng.com。2012 年 7 月份,我发现了 liuf.net 这个域名比较便宜,而且我也觉得 cnliufeng.com 这个域名太长了,跟人家说我的邮箱的时候太麻烦,就买了这个域名,切换了过来。到了 2013 年 3 月,cnliufeng.com 该续费的时候,我没有续费,算是放弃了这个域名。我的邮箱一直是用 Google Apps 挂在自己的域名下的,因此当我放弃了这个域名后不久,我就注销了在这个域名上的 Google Apps 服务。到现在,这上面的邮件早就拿不回来了。

不过,开发 Launchbar 的公司有个人工找回许可证的功能,你可以给他们发邮件,描述自己的信息,让他们帮你找回许可证,我看这个功能也许可以帮助我。不过我在写信的时候,觉得还是去我备份的邮箱里找一找吧,也许能找到呢,就不用这么麻烦的通过人工来找回,而且也不确定人家是不是愿意帮我。

我在捣鼓 VPS 的时候曾经用 Getmail 来导出过我的 Gmail,有兴趣的同学可以去这个链接看看,方法挺简单,就是挺费时间。我是在 VPS 上进行的,开个 screen 让它自己运行,倒也不费事。结束后吧 Maildir 文件夹打包,我就一直保存着没有动。当时弄这个有种把我的邮箱放在 VPS 上完全自己管理的想法,不过后来担心自己搞不定,就放弃了。这次正好可以从这个备份里找找过去的邮件。

这个包裹有数 G 大小,解压缩的时间也不短,足够我把人工找回许可证的信写完了。解压缩完后,我用 ack 在 Mairdir/inbox/cur 目录里搜索 obdev,就是卖 Launchbar 的公司。好在 ack 够方便,不一会就找到了两封邮件。其中一封是给我发的收据,另一封里面就有我要的许可证号码。这样事情就终于解决了。之后我马上把它们输入到印象笔记里。

通过这件事,说明了备份实在是相当重要。有些在网上的东西,也许我们一时间觉得用处不大,还有的会让你觉得导出不是很容易,就想放弃。尽量不要这么做,这次的事情就是一个活生生的例子。

看到了 OmniOutliner 的介绍视频

前几天我偶尔看到了 OmniOutliner 的演示视频,感觉很有意思。

OmniOutliner 是一个用作收集整理想法的工具。它可以让你把你的想法条理的记录下来,再通过整理输出成成品的文章。我很喜欢这样的生成文章的模式。思路繁杂,我很难在大脑中直接整理妥当。看我的博客或许能觉得我写作比较混乱,就是这个原因。博客是一种记述生活的地方,所以不用太严肃。我写比较严肃的文章时,喜欢来回调整。有 OmniOutliner 这样一个专业的程序,来做这种事情比在编辑器里复制粘贴要好多了。

我现在在用印象笔记来做这类的工作,不过侧重点是收集想法。我写博客前会随时收集可以写成文章的想法,放在一个专门的笔记本里,每篇笔记是一篇文章。笔记的题目就是博客文章的标题,有了什么资料或想法都可以放到笔记正文中去。这样在写博客的时候就不会无的放矢。不过,印象笔记做不到像 OmniOutliner 那样针对一篇文章的精细组织,但它的侧重点在于同步,印象笔记的单个笔记的精细编辑方面不是很在行。

我觉得 OmniOutliner 对于写博客有很大的帮助,不过我没有尝试过。我写博客的过程就是在日常中收集点子,并在有机会的时候补充完善。有时间的时候,就在放草稿的笔记本中找到草稿,写成一篇文章就可以了。或许在写一些其它类型的大型文章时,OmniOutliner 也很有用,不过我目前还没有遇到这样的情况。单单用来写博客的话,OmniOutliner 的价格还是贵一些。

从 OmniOutliner 可以看出文学化创作的样子,就好比文学化编程,我也挺想要个文学化写作的软件。前几天我写 2000 字的学习总结,就想要个类似的软件好可以写的比较有条理。结果 Word 的大纲模式不好用,其它的软件,我找到了 Scrivener,或许可以完成这个工作。免费的软件,似乎没有。也许 org-mode 可以做到,不过 Emacs 不大适合编辑中文,挺让人头疼。

Omni 出品的其它软件也都非常优秀。但价格昂贵,只面向于 Mac 平台。开发这个软件需要的力度值得这个价格,但目前的我买不起。只针对于 Mac 平台,所以我的安卓手机没法用。

通过这件事情,我发现有很多软件是 Mac 专属的,我还没有全盘接受。相比起我目前在用的跨平台软件,它们或许更加的专注、优秀,但也相对的封闭,需要你专注于 Mac 这个生态圈才能够有足够的了解。目前我并没有确定我可以继续使用 Mac,因此我也不好使用它们。

2G 内存的机器要被抛弃了吗?

我对我的电脑的运行效率不满不是一天两天了,其实这台笔记本电脑用到现在,我已经比较习惯了。硬件上来看,这台 2008 年 4 月份买的 MacBook 到今天来说还比较正常。除了手腕托板的右下角掉了一块外,就是电池已经将近寿终正寝了。除了充满电量后只能坚持十分钟外,电池本身也发生了膨胀,本来电池的外壳是跟电脑的地板严格合缝的,现在已经突出来有三毫米了。

说起来我本来都觉得人类已经解决了记忆效应问题的,可惜事与愿违。普通人们到今天仍然没有一个统一的观念,比方说新买的电器第一次要先充满电、充满多少个小时、还是不用管它都没有一个定下来,广泛推广的标准。第一次充满一定的小时数,这是我母亲经常给我灌输的理念;把电充满这种说法我记不清是从哪里看的了;可是我们经常接触的电器,比如手机、笔记本电脑,它们在刚开封的时候电池并不是空的。这说明厂商在发货前已经给电池充了一定的电量了,那么这个“第一次充电”的说法,应该不适用了吧?反正我的手机、iPod 什么的都是直接用,不管电池这一块。因为如果我们还像 20 年前那样像对待传家宝一样来对待电器,那电器也就失去了它们的意义了。

之前看到一篇关于锂电池的文章,说正确的充电方式是不把电耗光,不把电充满,维持一个不上不下的状态。至于有没有确切的证据,我就不清楚了。不过,以我的手机来说,电量低于 14% 报警后我一般就会给它充电,一直到充满为止。这跟目前智能手机的耗电量也有关,每天都要充电,这是没办法的事情。

另外,我记得中国在推行数字机的时候就开始用锂离子电池了,到今天我们用的还是锂电池,这之间已经过了有至少 15 年了。我觉得我们应该也要有更新的技术了吧。之前我在国内家里有一台 DELL 笔记本电脑,它的电池也是锂电池,用了几年后充满电时后只能坚持不到五分钟;我这台 MacBook 也是用的锂电池,到现在也不行了。这让我对锂电池技术没什么信心了,之前可是听说锂电池没有记忆效应啊。

至于内存,我在出国前买电脑的时候,觉得 2G 就了不得了。我出国前买了一台 DELL 笔记本电脑,内存就是 2G 的,在那时算是高端配置了。在这台电脑之前,家里用的 IBM 笔记本的内存是 512M 的,我们也没有觉得多么的卡。没想到几年过去,内存的容量也没有更新的太夸张,不过是翻了一到两番。想想看,从 2G 到 4G 的差别,能有从 512M 到 2G 大?

不过,明明觉得这么大的内存,为什么我用起来经常会卡死呢?我的经验是跟软件有关系。

我现在用的浏览器是 Google Chrome,其实不管我是用 Firefox 还是 Safari,它们都一样的占内存。有时我只是开了浏览器,浏览几次网页,内存占用量就上去了。现在浏览器成了我电脑上的第一耗内存大户,我都有些怀疑那些只有 2G 内存的上网本要怎么样,它们不也是只启动一个浏览器吗?

Chrome 浏览器是分进程的。从 Activity Monitor 里能看到一大堆的 Google Chrome Renderer 的进程,它们占据了很大的内存,有的时候有一两个这种进程,它们的内存占用比 Google Chrome 主进程占据的都多。好在 Chrome 分进程,我经常在 Activity Monitor 里杀死占用内存过多的进程,它们有的时候能达到 400M,把空闲内存的量压倒 8M,杀死一个进程后,整个系统马上变流畅了。开始时我让 Activity Monitor 按照 CPU 占用的比例来排列进程,后来我变成了让它按照内存占用来排序,真是讽刺。

我常常想,图形化的浏览器的代码量很大,但内存管理方面应该不用太复杂吧。简单粗暴的在关闭标签时回收全部的内存,我就不相信还会有这样的问题。结果我现在在 Chrome 里关闭一个标签,内存竟然不释放,也许是为了重新开启网页的时候考量。我怀疑如果内存不经常释放,那么就算是在 4G 或 8G 大内存的机器上,应该也会有内存被占满的情况吧。

除了浏览器之外,现在网页的编写也越来越大胆了。在过去我们总是想尽量的压缩网页,把运算放在远程,我们常说“瘦客户端”。我想现在“瘦客户端”这个名词应该不经常用了吧,充斥了大量 JavaScript 代码的网页还算什么瘦?我过去从来没想过一个正常的网页会把整个系统拖垮,结果没想到现在我开一个 Google Plus 电脑立马就慢下来,导致我不敢在电脑上上 G+。

Magit 找不到 git 的问题

虽然 Mac OS X 的底层是 BSD,但它的一些问题还是用的特殊方法解决,而不是标准的 UNIX 解决方案,有时让人非常困惑。其中一项就是默认搜索路径的设定。UNIX 下的标准方法是在 .profile 文件中设定 PATH 变量,但 Mac OS X 还有另外一种方法,就是写在 ~/.MacOSX/environment.plist 里。

我之前忘了因为什么原因,使用过第二种方法。上个月重装系统的时候,我也备份了 HOME 目录下的隐藏文件。等重装结束后往回复制的时候,我觉得系统运行一切正常,不用那个 plist 文件也没有什么问题,所以就没有把这个文件夹给复制回去,只是改了个名字备份到了硬盘里。前几天我整理硬盘的时候,感觉没有什么问题,于是就把这个目录给彻底删除了。

今天我准备搞一下小组的学期项目。我们用 git 来管理代码,我编码喜欢用 Emacs,所以就一直用 magit。重装系统之后我还是装了 magit,但一直没有机会用过,这次需要用的时候,出了问题了。执行 M-x magit-status 的时候,Emacs 总是提示说:

Searching for program: No such file or directory, git

我系统里的 git 是用 Homebrew 安装的,平时用着一切正常,PATH 路径也正确,Emacs 里面我还单独的设定了 PATH,也没有问题。我的配置文件都是重装系统之前备份的,那时用着没问题,现在应该也正常才对。为了找出问题,我重装了 magit,升级到了最新版本,又重装了一遍 git,都没有解决。后来我才想到了 plist 文件的问题。

我的那个目录已经删除了,好在我有 Time Machine 备份,找回来之后,我把目录又复制到了根目录下,试验 magit 问题依旧。后来我觉得这个问题和 Mac OS X 系统有关,或许应该重新登录一下,就重启了一下机器,之后就正常了。

更新 Mac OS X 的 locate 数据库

什么样的操作系统早就什么样的操作习惯。

在过去用 Gentoo 的时候,很多动作都是在终端下面完成的。而在 Mac OS X 中,我虽然每次开机后一定要启动的程序就包括了终端,但很多动作都无法在这边完成了。久而久之,我对这些动作的命令也记不太清了。

印象里过去在 Gentoo 时用的很多的一个命令就是 locate。有的时候需要在硬盘上寻找某个文件,相对于 find 那些繁杂的参数,locate 是最简单的了。其实 locate 就是一个 find 加强版前端。它维护一个数据库,提前运行 find 命令来遍历硬盘上的文件,把结果存放在数据库中,调用 locate 的时候就是从数据库里搜索。这样无论是便利上还是速度上都非常不错。

虽然在 Gentoo 下面我也运行 beagle,但我用的并不多。我当时看到 Nat Friedman 的 Beagle 演示视频 感觉非常不错,可当我实际上使用后发现它并不适合我。一是它的速度比较慢,我印象里理想的桌面搜索应该就像在一份文档里执行查找命令那样,不光可以立即到达搜索的地方,而且可以增量搜索。可我实际上使用起 Beagle 来看,它的效率还达不到。另一方面可能是桌面搜索本身的问题了,有时候我会思考我为什么要搜索桌面。或许我使用计算机主要的作用不是文档方面吧。如果我要管理一系列文档,或者需要与其他人进行事物性互动,我可能会觉得桌面搜索有用。而把计算机用来编程的话,我感觉桌面搜索的方向不对。

我在看了 Mac OS X 的一些介绍后,曾经非常喜欢里面的 Spotlight 桌面搜索。觉得这是把桌面搜索完美的结合到了日常事物当中去了。可实际上使用了 Mac 后,我感觉并不是那么一回事。首先是速度还是太慢,或许硬件提升之后会有改善,但我目前使用的 MacBook(2.4G / 2G)无法达到要求。其次在使用起来它也并不是很方便。所以有时我更喜欢用 Linux 下的 locate 搜索。

或许 Apple 本身并无意让用户过多的接触 UNIX 下的一些工具,所以我觉得相比起 Gentoo 下的 locate, Mac OS X 下的 locate 在便利性上差了一些。主要是一些辅助工具。我在开始用 Mac OS X 下的 locate 时,把过去知道的创立数据库的命令尝试了个遍,就是没有可行的。后来搜索网络才找到了正确的命令,不过这命令也太变态了吧,完全没有过去的那种方便直观。

我在那篇文章中说,那个命令是用来创建数据库的,而我当时还没有找到更新用的命令,留在以后找到了再补充。今天想用 locate 搜索 magit 安装的文件时忽然想起了这件事,就专门搜索了一下,找到了更新数据库的命令:

sudo /usr/libexec/locate.updatedb

运行之后,系统会调用 find 来更新数据库,所以会占用一些 CPU 资源。具体耗时要看硬盘上的文件比上次更新数据库有了多少改动。

我现在离过去用 Gentoo 的时间有点长了,对于当时是怎么更新数据库的没有印象了。我忘了是我定期手动执行命令来更新还是放在脚本里定期运行的。不过好在更新了数据库之后,locate 又可以使用了。我尝试了一下,速度明显比桌面搜索来的快。用文件名搜索也非常精准。

这日子没法过了

最近上网感觉很不爽,因为突然觉得浏览器都不大好用了。

我目前机器上安装的浏览器有三个:Safari、Firefox 和 Chrome。其中时间用的最久的是 Firefox,在目前对我来说是排在第一位的。过去我一直用 Safari,因为这是系统自带的,过去用着也还不错。但自从升级到版本 4 之后,新东西倒是有一些,但效率就不敢让人恭维了。过去我的首页还是默认的 top sites,每次启动 Safari 的时候系统生成首页上的那些缩略图就足以让我的机器卡一阵子了,后来我忍无可忍把首页设定成空白了。之后发现效率越来越差,就改用了 Firefox。Chrome 是最后开始用的,自从出了 for Mac 的 beta 版我就开始试用了,因为在 Windows 下用着感觉不错,所以就希望也在 Mac 上用。但那时 Chrome for Mac 的实现还相当不完善(其实到今天我也觉得缺少一些功能),而且不能安装扩展,这让习惯了 Firefox 下的 AdBlock 之类的插件的我很不适应,所以就放弃了。

几个星期前我听说 Chrome for Mac 也支持安装扩展了,就装了那么几个,感觉好用多了。但用了一阵子之后就感觉到了很严重的效率问题,速度变得特别慢!有时候会出来一个小窗口说是某个标签没有反应,问我是把页面给 kill 掉还是继续等待。有时在我切换标签页之后要等上那么几秒钟页面内容才会出来,这让人很不爽。不知道是不是因为我的浏览方式太过另类,开了太多的标签页的缘故。

过去在用 Firefox 的时候我很少感觉我开的标签页太多了,因为它的标签栏是可以左右滚动的,每一个标签最窄也是三厘米左右。而在 Chrome 下,所有标签页都挤在标签栏里,标签多了以后标签上有什么内容也无法看到了。我在安装扩展的时候看到了一个名为 Too Many Tabs 的扩展,是用来管理标签栏的。在这个扩展在地址栏右侧的图标上会显式目前有多少标签,我经常看到上面 4、50 的数字就觉得一阵心惊肉跳,觉得 Chrome 大概不堪重负了吧。另外,这个 Too Many Tabs 的扩展是为了管理标签的,可以在里面用关键字搜索,可是往搜索框里输入中文的速度是个问题;而且在我的机器上它的速度很慢,这就太有杀伤力了,切换标签这个常用的动作有效率问题可是不可饶恕的致命伤。所以到后来我觉得这个扩展算是一个鸡肋扩展。

在使用了这么一段时间之后,我越发的觉得 Chrome 的效率不行了。我觉得应该是程序里面有 bug 的原因吧,因为我有时会发现整个标签页是卡死了的,完全不能动弹。幸好 Chrome 有多进程这个特性,我把地址复制下来再重新建立一个标签也就解决了,但这总是让人觉得不痛快。另一方面,我对 Chrome 的所谓“多进程”也感觉与我预期的有一些距离。我过去以为每个页面是严格的放进每一个进程的,这样通过 Chrome 的 Task Manager 就可以管理这些进程里面的页面,那个页面耗费了过多的资源就可以一目了然的看出来了。但几次经验告诉我这不是真得。很多时候我看到几个页面是挤在一个进程里面的,根本就无法区分,更加不可能只杀死其中的一个页面。这样这个功能就大打折扣了。

Firefox 在 Mac 下我感觉就很完善了。它除了功能齐全以外,最大的好处是稳定。我在用 Chrome 这段时间内遇到的一些问题,在 Firefox 下基本上不会出现。我现在觉得 Chrome 比较可取的地方之一就是它的多进程,如果可以把这个功能放到 Firefox 上就好了。因为我有时会发现 Firefox 的 CPU 使用比例不正常的高,有时会到 90% 以上,这时候我的 MacBook 的风扇就讨厌的响起来了。而整个 Firefox 是一个大进程,我也无法判断其中的“老鼠屎”是那个页面,因此也无法调整。但瑕不掩瑜,我之前也说过稳定是最重要的,在 Firefox 中我基本上没有遇到过像 Chrome 那样切换了标签后要等上几秒钟后才能阅读的情况。

Chrome 的另一个可取之处是它的标签的界面比较好。当然这不是说外观,之前我也写文讨论过,而是说标签拖动方面更直观、更符合 Mac 系统用户的审美观。而在 Firefox 里,拖动标签时看到的就是一个蓝色的只是条下面跟着一个模糊的缩略图,让我每次拖动的时候都小心翼翼的,需要自习看看鼠标的位置是不是放对了。

至于说 Safari,我很久之前就不用了。主要是它没有扩展的功能,有些除广告的功能就没有了。而国内网站有很多就是有很讨厌的广告在骚扰读者。我的 AdBlock 的名单已经比较符合我的日常习惯了。Chrome 下的 AdBlock 插件虽然不如 Firefox 下那么直观方便,但也勉强可以使用了。可惜 Chrome 下还没有 NoScripts 插件,所以有些站点之内的音乐自动播放就无法控制了,我只能麻烦的在选项里设定 Javascript 的页面过滤条件,也将就了。而 Safari 则这两种东西都没有,遇到这种页面也就只好抓瞎了。再加上 Safari 的效率问题也给了我一些阴影,所以我很久没有用 Safari 了。


昨天我终于无法忍受 Chrome 的垃圾性能了,于是又切换到了 Firefox 下。但这次不知道为什么,Firefox 的行为让我感觉很奇怪。有时让我很抓狂的情况是:打开一个页面,鼠标就变成了小彩球转个不停,我这时候也只能 Force Quit 了。而这些页面包括阿 Gmail、VeryCD……这种情况已经发生了两次了,让我都有阴影了。

Chrome 和 Safari 慢,Firefox 会卡,真让我不知道这些浏览器还怎么用下去。

有时候我想这些现代的图形浏览器是不是太不稳定了,是不是字符界面的浏览器会好一些呢?我过去在 Emacs 里面用 view-mode 来读文档就感觉很爽。Lynx 我用着不惯,我希望可以在 Emacs 里面用,毕竟页面操作起来也方便么。可惜 W3M 不支持新版本的 Emacs,只好作罢。