2009年4月19日星期日

Tiny is beautiful

正在开发的新项目代号是"Madagascar",  其中主要的虚拟机子项目的代号是"Lemur", 很多同事和朋友问我为什么要取这个名字, 其实我一直对可爱的小动物特别喜欢, 常常选他们作为项目的代号, 从早期的Koala(一个面向对象的脚步语言, 类似Python)到上一个java虚拟机"Kava"(Koala-Java), 和现在的"Lemur"(其实确切的说我喜欢的是Mouse Lemur). 有些人认为这个很孩子气, 所以我想有空和大家解释一下为什么这样, 虽然我不认为孩子气是什么坏东西. 

在整个技术研发生涯中, 我一直奉行"Tiny is beautiful"的原则. 在完成相同功能的基础上, 能尽量让东西小巧是最吸引人的. 这可能是为什么会长久致力于嵌入式小设备研究和开发的心理原因. 不同于面向完成功能而堆砌的模式, 我们力图通过好的系统架构来将系统或者系统的各个部件设计的尽量简单, 并借助好的接口模式将他们结合起来, 完成整体的功能需求. 可能也是由于这个原因, 我对"云计算"的架构表现出如此的热情.当然类似的还有很多值得欣赏的东西: "Micro kernel os", "Qmail", "IPod", "Apache", "A", "Mars rover", "ISS(International Space Station)", "RISC CPU"...... 当然,还有上帝创造的这些小巧却很可爱的动物.

有限的简单单元加上巧妙的架构(这个架构本身也要简单小巧)能也许能完成很强大的功能, 而不是像大家直观感觉上那么繁琐.  是不是很异想天开? 看看蚂蚁和蜜蜂的简单个体和强大的群体效能, Turing / Von Neumann(之前的文章介绍过这个天才)设计简单的计算机单元和强大的计算能力, 都能给我们很多启发.

最后给大家看看Mouse Lemur的样子:)


2009年4月8日星期三

Mobile payment, my third eye....

如果在双眼关注我们目前从事的事业同时,要用第三只眼关注另一样事情的话,我一定选择无线支付,实际上,我认为这是撼动和改变整个无线领域竞争格局的东西之一。

最近常和中国最有影响力的网络支付服务提供者沟通,我不遗余力的鼓吹无线支付的重要性,当然我也清楚他们比我更知道这一点,相信不久的将来我们很可能合力打造这个战略性极高的平台。

做为一个系统平台层面的团队,我们有责任承担推进无线领域开放化,虽然目前我们能影响的程度不大,只能配合已经很有影响力的合作者去实现这个目标,但是即使如此,也是值得的。毕竟我们能借助这些合作者去表达和宣传我们的观点,并在重要的领域发挥功效。

我喜欢朋友msn的签名:错误是短暂的,错过是永远的。

2009年4月1日星期三

Come again, Von Neumann.....

     最近的工作很原始, 首先是定义了一套虚拟CPU指令, 并用C实现了一个虚拟CPU, 16个寄存器, 32位指令和寻址长度. 之后定义了一套汇编语言,并实现了汇编到我的VCPU的编译器.......

    Alan Mathison Turing和Von Neumann真的很伟大, 在他们那个时代就定义了一个到目前为止仍然行之有效的基础架构. 虽然Turing从理论上建立了一个计算机基础架构, 但是Von Neumann的设计更让计算机变得现实可行.

让我们来缅怀一下这个天才!

1903年12月28日,在布达佩斯诞生了一位神童,这不仅给这个家庭带来了巨大的喜悦,也值得整个计算机界去纪念。正是他,开创了现代计算机理论,其体系结构沿用至今,而且他早在40年代就已预见到计算机建模和仿真技术对当代计算机将产生的意义深远的影响。他,就是约翰·冯·诺依曼(JohnvonNewmann)。
  约翰·冯·诺依曼 ( John Von Neuman,1903-1957),美藉匈牙利人,1903年12月28日生于匈牙利的布达佩斯,父亲是一个银行家,家境富裕,十分注意对孩子的教育.冯·诺依曼从小聪颖过人,兴趣广泛,读书过目不忘.据说他6岁时就能用古希腊语同父亲闲谈,一生掌握了七种语言.最擅德语,可在他用德语思考种种设想时,又能以阅读的速度译成英语.他对读过的书籍和论文.能很快一句不差地将内容复述出来,而且若干年之后,仍可如此.1911年一1921年,冯·诺依曼在布达佩斯的卢瑟伦中学读书期间,就崭露头角而深受老师的器重.在费克特老师的个别指导下并合作发表了第一篇数学论文,此时冯·诺依曼还不到18岁.1921年一1923年在苏黎世大学学习.很快又在1926年以优异的成绩获得了布达佩斯大学数学博士学位,此时冯·诺依曼年仅22岁.1927年一1929年冯·诺依曼相继在柏林大学和汉堡大学担任数学讲师。1930年接受了普林斯顿大学客座教授的职位,西渡美国.1931年他成为美国普林斯顿大学的第一批终身教授,那时,他还不到30岁。1933年转到该校的高级研究所,成为最初六位教授之一,并在那里工作了一生. 冯·诺依曼是普林斯顿大学、宾夕法尼亚大学、哈佛大学、伊斯坦堡大学、马里兰大学、哥伦比亚大学和慕尼黑高等技术学院等校的荣誉博士.他是美国国家科学院、秘鲁国立自然科学院和意大利国立林且学院等院的院士. 1954年他任美国原子能委员会委员;1951年至1953年任美国数学会主席.
  1954年夏,冯·诺依曼被发现患有癌症,1957年2月8日,在华盛顿去世,终年54岁.
  最简单的来说 他的精髓贡献是2点:2进制思想与程序内存思想



2009年3月10日星期二

Eclipse开发的基于j2me的开发环境, 看来Mobile App新时代大家还是看好j2me:)

本文转载自

http://tech.yahoo.com/news/infoworld/20090310/tc_infoworld/128178

Tackling the complicated issue of developingmobile applications for different platforms, the Eclipse Foundationis set to unveil on Tuesday a project to build a multi-vendor, unified platform for mobile development. But the effort thus far lacks the support of some major mobile players includingMicrosoft and Apple.

Called Pulsar, the initiative is intended to build a standard mobile application development tools platform. It is being led by vendors like Motorola and Nokia and seeks to make it easier to develop applications for different mobile systems. Although the individual platform technologies would not go away, Pulsar provides a unified platform to work with the individual vendor-specific technologies.

[ Though it hasn't joined up with Pulsar, Microsoft did recently herald the Silverlight-Eclipse link. ]

"The whole notion here is that an application developer can go toeclipse.org, download the Pulsar platform, and it's complete and ready to go," said Dino Brusco, senior director for developer platform and services at Motorola. Pulsar is based on the Eclipse IDE and features plug-ins for different mobile development environments. The Pulsar platform accesses vendor-specific SDKs; the first release of Pulsar is planned for late June whenEclipse offers its "Galileo" release train of multiple technologies.

"A developer does not have to go to the different sites to download [the different SDKs]," Brusco said. Initial supporters of Pulsar, in addition to Motorola, include Nokia, RIM, Sony Ericsson, IBM, and Genuitec. Mobile platforms of all these vendors will be supported by Pulsar.

"We believe that this Pulsar platform will make it easier for developers who have not had experience developing for mobile to come into the mobile space," said Brusco.

A RIM executive stressed that Pulsar is intended to make it easier for developers having to cope with building applications for many devices and work with many development environments. "I think what Eclipse is driving and many of us have been focused on for a while is how do we make the developer's life in mobile a lot simpler," said Alan Brenner, senior vice president at RIM.

Java Micro Edition will be a platform supported by Pulsar. But missing at this juncture is support of major mobile platforms, such as Microsoft's Windows MobileApple's iPhone and Google's Android.

Pulsar, though, is an industry initiative open to all companies, Brusco said. "We hope these other companies will look at it," he said.

The lack of support from vendors like Microsoft and Apple "highlights the schisms that are forming in the smartphone space," said Jeffrey Hammond, principal analyst at Forrester Research.

"There's not really a good way to develop a single app and deploy it across Symbian, RIM, Windows Mobile, iPhone, and Android," said Hammond. "There are mobile middleware platforms and tools that come close, but it's still a least-common denominator approach that doesn't tap into device-specific ecosystems like the [Apple] App Store."

But Hammond did laud Pulsar.

"I think it's an interesting approach to making mobile developmentmore approachable for mainstream developers but it's really only a start," he said. "They will need to get a few releases out and support phones that developers really want to build apps on. Technically though, it's a pretty sound approach."

Microsoft declined to comment on the Eclipse mobile initiative. AGoogle representative said the company has been approached but declined to participate in Eclipse mobile efforts at this time. Google is an Eclipse member and does support an Eclipse plug-in for the Android SDK, according to a Google representative.

Pulsar differs from the already-existing Eclipse MTJ (Mobile Tools for Java) platform in that it would support MT4J as well as other technologies. MTJ enables development of Java ME (Micro Edition) applications. "(MTJ) becomes the starting point for the Java environment of the Pulsar platform," Brusco said.

Eclipse also offers its tools for Mobile Linux projects, for mobile applications, and embedded RCP (Rich Client Platform) for embedded devices, Brusco said. "What was missing from those projects was a higher level collaboration amongst mobile companies to talk about bringing these projects together, creating a common tools platform for the mobile space," he said.

"The Pulsar initiative is really about a common tools platform that's more than Java," he said.

Specific deliverables of the Pulsar effort include:

* Development of a packaged distribution called Eclipse Pulsar Platform;
* A technical roadmap to advance Pulsar's capabilities;
* A set of best practices, including documentation and test suites;
* Education and outreach to drive adoption of Pulsar.

In conjunction with its participation in Pulsar, RIM has delivered version 1.0 of it Blackberry JDE (Java Development Environment) Plug-in for Eclipse, offering a plug-in enabling developers to build applications for the RIM Blackberrydevice from within the Eclipse IDE. RIM also has increased its sponsorship level in Eclipse from a solutions-level member to an enterprise member, Brenner said

2009年2月26日星期四

英国用户在Android Market下载量前十的软件排名(Andy提供)

T-Mobile英国不久前公布了英国用户在Android Market下载量前十的软件排名,其中备份软件,在线购物比价,星相软件榜上有名。

依下载量排名为

1. The Weather Channel – 天气预报软件
2. MySpace Mobile – MySpace用户的最爱
3. ShopSavvy – 扫描商品条形码并在线比价
4. Daily Horoscope – 每日星座运程
5. Free Dictionary Org – 字典软件
6. Ringdroid –使用机内MP3和自录音频文件制作铃声
7. Backgrounds – 50000张墙纸包
8. Barcode Scanner – 和ShopSavvy差不多, 不过只用来扫描和查询CD与书籍的价格
9. Save MMS – 让用户可以保存彩信内的图片和视频音频到手机本地
10. Compare Everywhere –还是通过条形码在线比价的软件

可以看到图和音乐仍然是重点, 看来人的基本需求是比较类似的, 不过电子交易部分也凸显出来

2009年2月15日星期日

又要写代码了还是VM, 久违了VIM, 久违了GCC


刚刚和兄弟们讨论了对于新版本的虚拟机的设计, 很快就会分工合作新的版本的java虚拟机了. 这个版本的目标非常明确, 就是全面兼容j2me的标准, 同时也支援市面上主流的移动终端平台. 当然, 新版本会瞄准对高端设备的支持, 比如MTK中我们就是以Arm9系列为基础开发的, 比如TMK 6235. 届时, 我们将有一个完全自主的虚拟机可以直接运行任何j2me编写的软件, 包括我心动的Opera mini, cool!

不过更值得期待的是在虚拟机之后的下一步内容, 就是提供给开发者一系列好的Cloud Computing(云计算)类库, 完成MAOL的跨时代之旅.

很久没有组织展开如此大的软件体系设计和开发了. 尤其是又可以直接编写其中的代码, 挺让我兴奋的. 一直搞不懂为什么写了快20年程序了, 还是这么喜欢编程. 一旦投入进去, 什么劳累和烦心都不见了.

在这里先透露一下新版本的结构

1. 平台透明化的 Unified C Library (MCSET for Symbian/MTK/WindowMobile/Linux/IPhone......)
2. 100% java bytecode standard VM (基于MCSET, multi-thread enable, ha!)
3. J2ME classpath (CLDC/MIDP2.0...... 将会使用opensource的, 并且保证我们的改动也会opensource, 主要的改动应该是native functions的实现).

2009年2月14日星期六

MTK Arm9

上网查询了一些MTK Arm9系列的资料(比如6235). 从硬件规格来说, MTK的新硬件基础, 已经可以完成智能手机的要求了.  不过MTK还是选择Nucleus作为操作系统平台. 虽然这款RTOS在很多方面表现出色, 不过我个人更愿意在Arm9上运行Linux,呵呵.  (其实Nucleus Plus也不错, 至少可以使用C++, 不知道MTK是否会选择)

由于在国内, 甚至国际的手机工业中上MTK的影响力, 我们可以想象2009年当MTK Arm9平台兴起的时候, 也就意味着手机软件服务竞争的时代离我们不远了.

现在正在等待拿到MTK 6235的开发套件, 除了依托MTK提供的软件基础架构进行我们的VM的移植以外, 我个人很有兴趣将Arm Linux移植上去. 看看是否能将MTK硬件平台和操作系统平台进行分离.如果可以的话, 对于国内很多厂家和开发人员来说, 实在是非常有意义的事情. (不知道是否有其他人在做类似的工作, 如果有, 请大家告诉我).