一个软件,微软通常需要经历四、五代,才会搞对
这是前几天在一个 podcast 中听到美国几个 IT 前辈的观点。我当下脑中立刻发出“一针见血”的反射动作,这两天更是遇上一个活生生的例子,始作俑者的现行犯是 Windows Media Player。
一位同事最近买了 Macbook,故需要将一些 MP3 从 XP 迁移到 Mac OS 10.5 上的 iTune,其中包括一些过去用 Media Player 从原始 Audio CD 剥下来的中文和日文歌。当这些 MP3 被导入 Mac 上的 iTune 时,他发现里面出现了大量的乱码,而大部分都集中在中、日文歌曲。于是找我求助。

我们知道,MP3 等多媒体文档的元数据(如歌名、演唱者、专辑名等),是存放在 ID3 标签里面的。可能是因为我不爱用 Media Player(觉得界面很不直觉),自己过去对处理这个问题还真的没经验。替他诊断了一下后,发现这些 MP3 的 ID3 标签中的文字,都是以简体中文 CP936, GB2312 的编码形式存在,而未采用多语言支持更好的 Unicode (UTF-8)。这就有趣了。在 ID3 文字编码的处理上,Windows Media Player 的做法,不同于其他 MP3 音乐播放器,如 iTune 或 Linux 上的各播放器。人家都是选择用 Unicode,但微软则独排众议地选择用本地的语言,所以在不同语言的 OS 下做,会出来不同的结果 — 简体中文会是 CP936,繁体中文则 CP937…。微软早在 NT 和 Office 2000 时代便已支持 Unicode,为何 Media Player 不采用真是匪夷所思。
more »
去年写过选择目前这支 Nokia E70 的心路历程,当时正值 Apple 刚宣布 iPhone,世人赞叹声 ooo…、ah… 不绝于耳之际。当时也和几位网友交换了在 Nokia 上使用 SIP VoIP 的心得。
自从 iPhone “越狱版”出现之后,至少已有不下两打的同事成为爱用者。我也开始评估是否/何时改用 iPhone。Nokia E 和 某些 N 系列手机内带的 Wi-Fi 加 SIP 支持,是我当初选择 E70 的主因之一。从一年前搬到北京以来,光是这个功能,已经替我们省下了大量的国际电话费,不管是打台湾、香港,还是美国、讲多久,都完全免费 — 一个叫 Truphone 的英国 SIP-VoIP 供应商(在那篇 blog 中提过),因为做促销,所以提供 40 多个国家免费的活动;这个活动虽然已在二月底正式结束,但 Truphone 私下发 email 通知我,说因为我是很早就加入的老用户,所以这个免费活动特别再延三个月,呵呵(附带一提,Truphone 一旦收费就划不来了,因为他的费率比 Skype Out 和某些其他 VoIP 供应商贵)。除了 Truphone 这种针对 Nokia 用户的服务外,Nokia E 系列上还能安装 Fring 这个软件,可同时支持 SIP、Skype Out,和多种 IM。
随着 Apple 正式释出 iPhone SDK,第三方开发人员百花齐放,SIP 和其它各式各样应用的出现,只是迟早的事。果然,Fring 的 iPhone 版已经出现,还有其他 SIP-VoIP 的免费软体。iPod Touch 的接头几个月前更已被人破解成功,麦克风都已经在量产了。现在有了 SIP 应用,iPod Touch 也能通话了。
more »
Web 2.0 早已不是什么新话题。过去的几年内,知名度高如 Google、Yahoo、MySpace、PayPal 等大站,也都无法完全免疫,而陆续爆发过各种攻击事件(钓鱼、虫…)。Web 2.0 网站不管是选择用 AJAX 、Flash,还有逐渐风行的离线解决方案,如 Dojo Offline、Google Gears 、Adobe AIR 等,来提供互动性更高的 UI,只要一不小心,这些 Web 应用出现安全漏洞、被坏人占便宜的机率,其实是很高的。有时候不仅是自己的 code,而问题也可能出现在第三方提供的现成工具箱、API。
要如何防范?对网站开发人员而言,在过去,对这个主题的探讨,往往比较零散,要不就偏学术,要求较高的门槛(例如 OWASP 发表的文献),一直缺乏系统化,全面性,且深入浅出的探讨。不久前终于出了一本好书 — AJAX Security,作者为 Billy Hoffman 和 Bryan Sullivan 这两位 Web 2.0 安全的专家(过去在零星的安全相关报道中,也常出现他们两位的影子)。在此强烈推荐这本书,给所有从事与 Web 2.0 开发相关的网友。尽管书名选择叫 "AJAX" Security,但事实上,除了 AJAX 之外,Flash 安全,甚至于如何将 CSS 这种看似无害、展现层的东西,拿来攻击的方法,在书中都有深入探讨(第十二章)。尽管这样的书,早该出现,但出版时间晚,反而也做出一些额外的贡献 — 比较新的科技,如上述的 Google Gears 和 Dojo 离线工具箱的安全弱点,在书中都涵盖了。希望它尽快能被翻译成中文,以造福更多大众。
more »
过去两年因著书《长尾》而巨红的作者克里斯安德森,最近开始推销他的下一本书《免费》(英文书名目前定为:“Free: the Economics of Giving Stuff Away”),预计明年出版。一如过去对《长尾》的行销,这次要阐述 “免费经济” 的现象和模式,安德森的首选渠道,自然是充分利用他任职总编的《Wired》杂志。前两天他在 Wired 网站发表了这篇专文。除此之外,还配合三月号“订杂志、免费附赠别册” 的行销活动(老掉牙的把戏了,但好歹还是得营造出一点气势来)。而他在稍早,半年前的一个 O’Reilly 的演讲场子上,已开始谈 “免费”。这场演说在一个月前被整理成播客发行。
这篇文章将近几年在互联网经济和摩尔定律推波助澜下产生的种种免费现象和经济模式,做了一个比较完整的整理。因此,个人认为还是蛮值得看的(不过目前在网上还没见到中译版)。至于那场演说,除了基本上把文章中的重点都快速地涵盖之外,还多谈了一个主题 — 为什么书不能走免费路线?《长尾》大卖后,安德森接下来要出的书,还是要收钱的;深知这个问题一定会被人拿出来检讨,故决定将此问题,主动提出来探讨。很多网友知道,我在8年前便实验过免费电子书的模式,故对此一课题,特别感兴趣。在针对安德森在那场演讲中,就他在免费书议题的表述上,讲一些我个人的观点前,我想先来对他在专文中整理出来的六种免费经济的模式,和大家做个扼要的分享。《Wired》杂志另外还整理了一页 “How-to Wiki”,将提供免费商品/服务的手法,做了一个罗列(推荐)。
more »
昨天从 Digg 得知 Google Talk 刚增加一个翻译功能,用法很有创意(大概又是哪位 Google 员工利用每周 20% 的自由时间想出来的),配置方式是必须先将恰当的语言,以联络人的方式加入,格式为 xx2yy@bot.talk.google.com,其中 xx 和 yy 是根据 IANA 制定的双字母语言码,中间加 2,例如英翻中为:en2zh@bot.talk.google.com,其他语言可如法炮制(Google 目前支持二十多种语言间的互转),@后一律相同。如果要利用这个 bot 充当语言不通的 IM 用户间的及时翻译的话,可以用 group chat 的方式,把翻译 bot 同时加入。
用几个口语的句子测了一下它的中英文翻译能力,和对简繁体字的处理,发现它和 Google 的搜索引擎一样,繁体和简体中文同时支持,Google 会自动判别,这点做得不错,至于翻译的准确性,就有点爆笑了 — 相同意思的三句话,分别用英文和中文版本测了一下(如下图),翻译出来的结果,其中甚至连语法都有问题(不过最搞笑的,还是将中文的语助词 “啊” 硬生生地翻成 "ah",让我想起在和香港的朋友 chat,英文句尾夹带 "ma"、"la" 的感觉)。(BTW, ”You never cease to amaze me" 是英文常用的说法,有时候用来讽刺,但这里我们看到 GTalk 的 bot 把意思完全搞反了)。
不过我主要想谈的,不是它的翻译水平,而是其背后的运作机制。这个翻译机器人 (bot) 的运作方式,仰赖的正是 Cloud Computing(云计算) — 无独有偶地,恰好是前几天纽约时报和美国商业周刊封面故事分别报道的主题(尽管二者的侧重点不同)。更巧的是,最早触发商业周刊对 Google 云计算做报道的,正是这个翻译 bot 。在商业周刊幕后故事 podcast中,记者谈到他在两年前,从卡内基梅隆大学那儿听到,曾经有一场自然语言电脑翻译大赛。参赛者中,IBM 自然不能缺席,此外还有来自亚洲、欧洲的团队,当然还有 Google。Google 团队的玩法与众不同,他们不用传统 AI 那套,从分析语句结构、语义模型等入手,而是利用一组超强的分布式计算 cluster(也就是那朵“云”),然后喂给它海量的联合国翻译稿件,让它根据字的关联性,做出统计分析,作为翻译的基础。结果 Google 队赢了。自此之后,美国许多大学的研究机构,都渴望能有一套像 Google 一样的计算怪兽,用来加速对海量信息的科学分析。两年后,他们终于如愿以偿。这篇报道讲的正是背后的故事 — 一名 Google 员工如何将公司核心竞争力平台的缩小版,带入校园,教导大学生如何善用并行计算资源。这项利用 20% 自由时间的项目,稍后还带动了和 IBM 的研发合作。同样巧合的是,纽约时报这周也对并行计算和它对编程带来的新挑战,做了一个报道(中译)。
纽约时报对 Cloud Computing 的报道,则着重于和微软的竞争,和潮流的变迁。简单的讲,Google 玩的是改变游戏规则的玩法,顺着时势潮流,用云来遮蔽桌面。
这几篇报道的相关链接:
回到 Google Talk 翻译机器人的翻译水平问题,由于听了上述翻译大赛的故事,还有之前对 Google 超级电脑的粗浅了解,我的猜测是 1) Google 的翻译引擎的翻译能力是可以调整的,而他们大概没有分给 Gtalk 翻译 bot 太多的脑细胞/计算能力(使用比较简化的计算过程),目前的目的只在实验这个新的应用模式,以致翻译品质仍处在搞笑阶段;2) 我用来考它的生活口语太难了,它比较擅长的,应该还是正经八百的官样文章,这或许是为什么喂食海量联合国资料和网页的 Google 云能够赢得冠军的原因吧!
从小耳朵对声音和音乐的反应就比较强烈:弹吉他、玩电贝司、学蓝调小口琴;初中时代的校园民歌、高中大学时代的西洋流行和摇滚,大量(盗版的)黑胶唱片和录音带,后来的蓝调、爵士、雷鬼,甚至现在的嘻哈,对音乐的热爱不曾停歇过。但可悲的是,一部分由于不停地搬家,多年下来,从来没拥有过一套像样的音响,听音乐的设备持续停留在 all-in-one 的迷你床头音响和 iPod 的层次。一直到现在,不知为什麽,从没去想要作一个发烧友的念头。
来了北京后,在一位音响发烧友同事刘松的不断怂恿下,最近终于开始认真花心思考虑组合一套音响的大事。首先,它必须能配合我对音源的特殊要求-多年来收集的两百多张音乐 CD 目前都还留在台北,其中只有部分用 iTune 剥成 MP3 放在 Macbook 的硬盘上;此外,还有数十 G 的 MP3,分别散布在两台 iPod、电脑硬碟、和许多备份的 CD/DVD 光盘中。简单地讲,除了在北京新买的几张 CD 外,绝大多数音源都是 MP3 的形式。这套音响应该要能很轻易地和家里的 iPod、PC 和 Macbook 相连,而且音质要够水准,而花费则希望能尽量低。
我知,我知… 当提到用 iPod 和 MP3 作为音源时,可能大多数发烧友都会嗤之以鼻地回应:要想拥有够水准的音响效果,就别想用 MP3 或 iPod。但情况真是这么悲观吗?

more »
观察过去一年 SOA 在美国的发展,一个愈来愈明显的趋势是,SOA 和传统 EA (Enterprise Architecture;企业架构) 领域逐渐在协作和融合。不久前,美国知名的 SOA 顾问大卫·林锡肯,David Linthicum 在一个由 The Open Group 主办的大会上预言:五年后,大家将不再像现在这么看待 SOA,因为 SOA 将逐渐融入 EA,变成只是 EA 实践中的一部份。此话一出,引发各方激烈的讨论。
对于绝大多数 IT 从业人员来说,”EA” 一直是个模糊而遥远的名词,尽管它已经悄悄存在约二十来年了(这点,从 EA 相关书籍数量之少,便可看出)。在许多世界五百强、一千强的大企业中,尽管在 IT 中存在着 EA 的组织,但这些架构师在组织外的其他 IT 同事眼中,往往是一小撮象牙塔里的文书官僚 (paper-pushers),对于他们实际的工作内容,往往非常陌生,也不关注;许多项目实施团队,对于 EA 架构小组所制定的各种标准和规范,甚至采取 “上有政策,下有对策” 的态度。
more »
去年我曾用 Google Trends(提供英文和简体中文两种接口),来一探 SOA 和 Web 2.0 的市场热度。今天再次利用 Google Trends,外加百度指数,来试探一下 SOA 和 EA(Enterprise Architecture;想在下篇探讨的主题)各自的温度,除了有些在去年就看到的趋势之外,另一方面也印证了我和同事刘松等在市场上观察到的现况,此外还有一个纯属巧合的有趣现象。

more »
2005 年底,著名 IT 分析机构 Gartner 的一个分析师 Nick Gall 发明了一个新词 — WOA (Web-Oriented Architecture) 。大家知道,发明新缩写字 (acronym) 一向是 Gartner 的绝活。几个月后,SOA 界著名的 blogger 和专栏作家 Dion Hinchcliffe 对它表示支持,他甚至画了一幅图,说明基于 SOAP 和 WS-* 的 Web services,和基于 REST、POX和 JSON 的 WOA,以及其他 SOA 相关科技,在复杂度和丰富程度上的比较。
本以为 “WOA” 的命运,差不多已经和先前广遭声讨的 “SOA 2.0” 一样,开始消声匿迹,但最近在一片大谈 REST 声中(前两篇帖子的主题),发现 WOA 已死灰复燃。
more »

刚到上海…最近常出差在外,屈指一算,到下周六月底前,一个月内到过的城市,北京不算,就有七个。歌坛老人艾尔顿强 Elton John 古早有一首经典歌曲,叫 “Rocket Man”,火箭人。现在搭飞机时,不时想起此歌。”火箭人” 其实是 50, 60 年代,冷战时期美苏航天竞技,当时许多老百姓对航天员 “astronaut” 的俗称。这首歌以航天员来隐喻经常搭机出差在外人的心情写照:
She packed my bags last night pre-flight
… …
I miss the earth so much, i miss my wife
It’s lonely out in space
On such a timeless flight
… …
… i’m a rocket man
Rocket man, burning out his fuse up here alone
讲到出差,上周在某市一家装潢前卫的 Sofitel,一大清早竟被蚊虫攻击,接着窗外大街上又响起了连续两三个小时的音乐广播。当下立即的反应是,这可是头一回在五星级 hotel 遇上蚊子;而蚊子正是我最不想念台湾的两样东西之一(另一个是政客;英文说 “demogog”)。当时真恨不得手上能有把在台湾耍得虎虎生威的电蚊拍。
几张用手机在几个城市随意捕捉的剪影: more »