工具癖系列之 Pinxue

按:去年七月,iPhone OS 和 Android 平台上的 iCosta 中文输入法联合作者李亮(Holly Lee)给我们写过一篇工具癖,这回他的搭档杨武(Pinxue)也应邀跟大家分享。


我是一名「电脑爱好者」,曾经在电脑爱好者城活动里看过门,后来不小心把爱好变成了工作。第一台电脑是读大学时从师慧公司买来的二手字幕机,286 + CGA,好象是花了 600 块,六个出钱的兄弟每周正好用一天。那是一段快乐的时光,最常用的工具大约是 HDCopy 和 PC Tools,以及各种游戏了。编程环境主要是 Turbo C。这台 286 后来 500 块转手给低年级的小朋友了。淘汰它之后,跟一个同学合资买了一台 486,Trident 9440 显卡,.30 的 VGA,由于光盘兴起,可玩的软件和游戏种类就多了,操作系统就装过 Windows 95、OS/2 WarpSco Unix,这阶段的开发环境也升级到 Borland C++。

工作以后,单位都提供电脑,这十几年来转换了不少领域,自然也接触了不少软件。编辑器是每天都要用的,头些年喜欢用 UltraEdit,后来发现 vim 有 Windows 版本。不过最近在单位的电脑上用 Notepad 的时间越来越多了;在一堆安全软件的消耗下,公司所配 Thinkpad 牌终端机慢的象蜗牛,还是 Notepad 启动速度最快。整理知识则用 FreeMind,画 UML 图用 StarUML。现在上班主要做 Java 开发,IDE 比较喜欢 NetBeans,可惜在开发服务器上资源有限,还是 Eclipse 运行得比较快。曾经很喜欢 Dreamweaver,不过现在 Web 开发只用 vim + Firefox + FireBug 了。

虽然一直都有所接触,但真正使用 Mac OS X 是 06 年初,10.4 Tiger 转向 Intel 架构,而且 hacker 们迅速让它在普通 PC 上运行起来了。在 AMD CPU 的台式机上折腾这个系统实在是一乐趣,只可惜越来越忙,再也花费不起那个时间精力了。

我对手机一向没什么讲究,诺基亚 6150 之后换了 6030,路上看看资料啥的主用 PDA,在戴尔 Axim X5 被偷之后又买了 X51v。对 Win32 开发者来说,Windows Mobile 确实非常容易上手。2007 年在 Holly Lee 的撺掇下,托朋友买了苹果家的 iPhone,这是我的第一台智能手机,完全改变了我对小型手持设备的印象,即便当年 X51v 硬件配置那么高,糟糕的电持续航能力和糟糕的浏览器表现也让我完全没有欲望用它上网。而 iPhone 则完全符合我对随身信息终端的全部期待,很多地方做得甚至比期待更好,因此我成了它的义务推销员,顺利的在办公室推销出去七、八台。(可惜没有提成。)不久后,又让同事给捎回来一台给 LP 用。iPhone 的易用性真是无以伦比,小儿 Nemo 一岁时就会自己点开向日葵看照片了,可惜在我和他的共同努力之下,那台 iPhone 终于摔坏了,现在主力手机是 T-Mobile G1 (HTC Dream),曾经试图让 LP 改用 Palm Pre,以便用回 iPhone,不过她更喜欢 iPhone。

拿到 iPhone 时,苹果并不打算开放 native SDK,系统也没有中文输入法,好在已经有民间搞出来的 toolchain 了。那段时期我做 iPhone 相关的程序主要是在 cygwin 下面用 ARM-EABI toolchain,当然还要特别感谢 class-dumpIDA ProAqualung。从大学时代学打字开始,我就是坚定的五笔用户,之前的手机打字实在费劲,极少发中文短信,从 iPhone 开始,终于可以用上了,而且还可以按自己的喜好还定制,这感觉真不错。后来用 G1 了,自然也要解决这个问题,这就是为什么 iCosta for Android 只有五笔 86。大家都太忙了,iCosta NG 已经规划好久了,可能还要蛮久才会做好,到那个时候就会啥都有了。

Objective-C 是一门非常好的语言,运行时包含有大量的信息,ARM 指令集也非常简洁,这使得阅读 iPhone 程序的汇编代码非常容易,让人感觉整个系统没有秘密。只要你想知道,苹果不可能向你隐瞒任何东西,这种感觉真棒。

后来苹果开放了 SDK,提供了 API 和文档,这带来了 App Store 的繁荣,并制造了众多一夜暴富的神话,不过也少了几分在黑暗中探索的乐趣。好在,这给了我充分的理由买一台苹果电脑,为了能在班车上打开,买了一台 MB990。

这台小小的 MacBook Pro 成了我的主力电脑,运行 64 位模式的 Snow Leopard,装着一大堆工具。编辑器前段时间用 MacPorts 里的 vim-app,最近改 MacVim 了。Xcode 显然是必装的,NetBeans 主要折腾 Grails,Eclipse 主要做 Android,Palm SDK。Wine 主要拿来跑 StarUML,特意买了一套 MS Office 2007 装在 Wine 里,可惜线性规划求解那个加载库总是出错,最后还来是得在 VMWare Fusion 里起个 Windows XP。因为有折腾三维图形的爱好,还装了一套 Houdini Apprentice。 因为有公司的 VPN,所以不用太费心翻墙。上 Twitter 主要用 Firefox + Echofon,移动时用联通的 WCDMA 上网则 twhirl + twip。平常通信主要用 GMail + GTalk,偶尔用用 Skype。台式机上接了个罗技 C500 摄像头,让老人跟孩子 QQ 视频。Vidalia + Tor 也备着,不过嫌慢,很少用。微软对 Mac 还是挺支持的,Messenger、Remote Desktop 都有官方版本。

为了不用背着两台笔记本来回跑,这台 Mac 上还有一套基本的工作支持软件,Cisco VPN Client 用来连回公司,Cisco Unified Personal Communicator 是 Software Phone,WebEx 拿来开会,Chicken of the VNC 用来连开发服务器,Adium 用来连接公司内部用的 IM 系统 WebEx Connect