工具癖系列之 Holy Lee

新一代 iPhone 用户可能无法想象二零零七年九、十月间在 iPhone 上输入中文之繁琐:记忆所及,最初有人做了专门用来发送中文短信的程序,该程序独立于原配的短信软件,在屏幕上有一个单独的图标,其唯一功能就是编辑、发送中文短信,而对方回复的短信仍然只能在原配短信软件里查看,故为进行短信对话,用户必须反复在两个软件之间切换。后来又有了线上版的中文输入方案——要输入汉字,必须先打开 MobileSafari 访问一个专门的页面!当时摆在众多黑客面前的最大技术壁垒,是如何开发可用于整个系统的中文输入法。须知彼时 iPhone SDK 尚不存在,所有第三方 iPhone 开发者都只能倚赖于 iPhone Dev Team 搞出来的地下 SDK。就在众高手一筹莫展之时,一个名叫 opensky2 的 ID 惊现 WeiPhone.com 论坛,没有上下文,没有自我介绍,只有两行不到的一句话(凭记忆转述):

「System-wide 中文输入法的所有技术难点已经解决,不日推出,请大家关注。」

现在我们可能很难理解这样一句轻描淡写又貌似信口开河的话在论坛上引起的波澜:猜疑者有之,讥讽者有之,但更多的当然是期待。几个星期之后,世上第一款可用于整个系统的 iPhone 中文输入法诞生,这就是 Holly Lee(李亮)与 Pinxue 两人在上海徐家汇港汇广场的 Costa 咖啡馆写出的 iCosta

我不知道现在还有多少人在用 iCosta 输入法。自从 iPhone OS 2.0 加入了自带中文输入法之后,我没有再用过 iCosta,但它一直是我心目中 iPhone 早期第三方中文输入法中的王者。Holly Lee 与 Pinxue 两人的低调品格、黑客精神与技术能力,都令人由衷钦佩与崇敬。非常荣幸收到李兄的投稿,令众多 iCosta 的受益者得以一窥这款输入法的开发环境。

【更新】本文发布后,musiXboy 指出 iCosta 仍在不断改善,并且是目前支持 iPhone OS 3.0 的唯一中文输入法。从 WeiPhone.com 上的用户反馈看来,iCosta 到了今天仍然有相当的用户群。想尝试的朋友,将 iPhone 越狱后,把 iphone.freecoder.org/apt 加入 Cydia 源并刷新即可。 iCosta 仍然是速度之王。致敬。—— 编者


看到 Jjgod 写的,不禁手痒想写一写我的了。

手头有两台 Mac,一台是 2005 年买的 20" 的 iMac G5,内存被我扩到 1G,硬盘还是原装的 250 GB。另一台是 2006 年底买的 17" 的英特尔 Core 2 Duo 的 MacBook Pro2,1,硬盘换成了 500 GB,内存扩到 3 GB(可惜这个芯片组只支持最大 3 GB,否则我肯定扩到 4 GB 了)。老实说,3 GB 的内存在同时开着 Safari, Xcode, Interface Builder, iPhone Simulator, OpenOffice.org 以及 VMware Fusion 跑一个 Windows 或 Ubuntu 的时候,还是显得不够用的。iMac G5 现在用得不多,除了做某些程序的测试,把 DV 带子倒到机器上,以及偶尔跑一个 Remote Desktop 访问 MacBook Pro 之外,基本闲置了。MacBook Pro 则是主力用机,绝大多数的开发都在上面做(除了要写 Windows 驱动程序的时候以外)。初步计划年底再买一台 17" 的 MacBook Pro,因为年底这台就过保了。 :-)

操作系统方面,MacBook Pro 上是 10.5.7,iMac G5 上则还是 10.4.11。最常用的浏览器是 Safari,虽然这个到 4 之后变得没有原来稳定了。有时也会用 Google Chrome,Opera 以及 Camino 和 SeaMonkey。用 iTerm 本地登录以及 ssh 到远程机器,用 Adium 做即时通讯工具,用 OpenOffice.org 来打开别人传给我的 Word/Excel 等文件。Skype 用来跟别人通话,Keynote 用来写幻灯片。另外,有相当一部分 Unix 工具来自于 macports。

作为一个码农,文本编辑器自然是用得最多的。主力无非是三个:vim, Xcode 和 TextWrangler。写 Mac 和 iPhone 软件时用 Xcode,写 iCosta 时用的则是 vim,TextWrangler 通常在 Finder 中突然想看某个文件时使用。其实用得最多的还是 vim——就是系统自带的那个。Eclipse 超级难用,不明白 Google 那帮家伙为啥总喜欢,于是我还是用 vim + ant 来开发 Java / Android 程序,正如用 vim / make 写 C / C++ 程序一样。

其他一些开发必需的工具大多数来自于 macports。版本管理用得最多的是 mercurial,同时也用 git, Subversion, cvs。脚本嘛,Python, Perl, Ruby 等也是需要装备的。对了,有时还要用 Inkscape 和 GIMP 做一些开发中需要的图标和图形。