我希望自己能成为一个出色的软件工程师。能给人们在计算机上带来全新的计算体验。 

RSS
 
 
formats

题外篇之“一键n招”

前面的Android, iPhone跟WP7对比文章里,目前为止,看来最大的争议就是一行代码弹框的问题了。写下这个论断之前,我就料到会有人反对,想来想去,还是把它说出来,看来有必要再详细解释一下我的观点,当然,依然是一家之言,仅供参考。

大家都记得我们小时候到街机房里面玩格斗游戏,《街霸》,《拳皇》,《真侍魂》。这些游戏中,最牛,最厉害的“大招”,都是最难“搓”出来的。我记得真侍魂里面霸王丸的天霸封神斩全中的话,可以砍掉对手70%的血。大家还记得天霸封神斩怎么搓么?是↘←↙↓↘→←↓↙+bc。能够熟练发出天霸封神斩的人,当年在我们眼里那都是绝世高手。

后来技术进步了,有了Nebula这样的模拟器,而且模拟器还支持联机对战。模拟器带来的另一个好处就是宏,可以把复杂的指令事先编一个宏,然后按一个按钮,就相当于输入了那一堆复杂的指令。这个功能太强大了,只要按一个按钮,就可以发出传说中的秘奥义招式了。像我这样的在街机厅里面从来就没有搓出来天霸封神斩的人,在家里面电脑前可以随意发大招了。太爽了!

插图:有了一键出天霸封神斩,裁判也不是我的对手

街机模拟器可以联机对战,我03年的时候在软院机房里联机玩过两局真侍魂。结果发现跟小时候在街机厅里面玩完全不是一个概念,小时候打游戏被对手用天霸砍死了,还要怀着非常敬佩的心情仰视别人一下。但是网上由于有了“一键n招”,网上联机的人人都随便出天霸封神斩,经常两个霸王丸天霸封神斩对砍,你一个,我一个。整个游戏的游戏性大打折扣,也就没什么玩头了。

为啥说这个例子呢,只是想说明,有时候“一键n招”并不是好事情,容易招致这个功能的滥用,天霸封神斩被滥用了,真侍魂就没玩头了。当然你可以说把用外挂的人踢走,我们假设SNK当年开发这款游戏的时候,就设置了一个天霸封神斩键,系统就支持一键出招,侍魂还会在当年大红大紫么?

MessageBox虽然没有天霸封神斩那么大的威力,但是作用类似,用得好可以让应用锦上添花,体贴周到。但是用得太多了就有副作用了。有些误操作概率非常小的功能,还要不厌其烦的提示用户,这就会让人厌烦。更有甚者,登录成功也弹框,保存成功也弹框。更有甚者,一些人写代码的时候,还用MessageBox输出调试信息。

对比一下安卓的通知系统吧,在安卓里面的通知有几类:

1. 不需要用户干预的同步通知:比方说登录成功等消息。这类通知安卓里是用Toast的,一行代码即可实现。用户无需干预,几秒钟之后Toast自行消失。这种通知对用户的骚扰最小,即使滥用也不太可能会导致用户厌烦。

2. 需要用户干预的异步通知:比方说miss了电话,来了短信等。这类通知安卓采用的是下拉Notification,最简单情况大概10行代码。这种通知对用户有骚扰,但用户可以眼不见心不烦。像某些有洁癖的人,看着通知不爽,也可以批量清空。

3. 需要用户干预的同步通知:比方说密码错误,批量删除警告等。这类通知采用的是windows like的弹框,最简单的逻辑大概也要20行代码。这种通知用户如果不处理,就一直在屏幕上占着。如果滥用,对用户骚扰最大。

安卓初学者都有这样的经历,我想在屏幕上显示点什么,根据经验,能想到的最直接的操作就是弹框,后来谷歌一搜。OMG,弹框这么复杂,这么多行代码?咦,突然发现有个功能叫Toast,也可以在屏幕上显示点东西,只要一行代码,就用Toast吧。这就是导向。作为平台设计者,在设计平台的时候,应该对平台使用者有显式或者隐式的导向。让设计者与使用者之间的误解可能性尽可能小。这也是HCI设计的原则之一。

我猜想,谷歌在设计Android API的时候,并不是没有这个技术实力让一行代码弹框,只是它可能故意提高了一下弹框的门槛,给程序员以暗示,这个功能可能有副作用,用之前要三思。

人人都滥用天霸封神斩的侍魂不是好侍魂。大多数应用都用滥弹框的平台呢?

最后再说一句,写这篇文章不是想否定Windows Phone这个平台,只是针对一行代码弹框就事论事。可能一行代码弹框在微软的所有平台里面都存在,从win32 API, MFC, WinForm, WPF, Silverlight等等,这可能是技术惯性。如果iOS也可以一行代码弹框,那这里讨论的问题对iOS同样适用。再退一步,即使弹框问题的确存在,这也是一个小问题而已,跟架构,策略,甚至营销相比,都微不足道,微不足道。

 

 
formats

iPhone vs Android vs Windows Phone(续)

杯具啊!!这部分本来都写完了,不小心按了backspace,退到以前的页面去了,东西都木有了,欲哭无泪啊,我还是应该在word里面写完再贴上来。这一部分稍显简略,因为我不想再打一遍,就一切从简了,精彩程度肯定要打折扣了。

 

体验篇

用户体验这个词虽然不是新东西,但是是智能手机让这个词前所未有的受到了重视。连软件学院都要开设人机交互技术课程了。去年我在PolyU选了《Human Computer Interaction》这门课,授课老师对iPhone也是赞不绝口,说iPhone符合HCI中的几大定律。当然,理论是灰色的,如果让大家上课的时候算熵,算概率,又有一些人要苦逼了。

单单说用户体验,我把这一票投给iPhone。是iPhone让大家看到了手机“本来”应该如何。以前微软做Windows Mobile,总是把PC里面的一些东西搬到手机上来,Phone is PC。我当时也被蛊惑了,Phone is PC,手机就是电脑,太牛了。但是后来iPhone一出,大家突然觉得都被忽悠了,Phone is PC是错的!Phone就是PhonePC就是PC。不可能把一种东西生搬硬套到另一个上来。

就说一个放大缩小的故事,放大缩小在桌面上怎么做?一个加号,一个减号两个按钮,按加号会放大,按减号缩小,如果放得太大了怎么办?就用滚动条来浏览。Windows Mobile到了手机上,依然用的是这个思路。iPhone就不一样,放大缩小最直观的操作就是pinch,这符合HCI上的Direct Manipulation原则。当然这依赖于硬件支撑,但是电容屏也不是苹果发明的,1986年就有电容屏专利了。是苹果让大家看到了电容屏的好。

还有就是滚动条这东西,在手机上太细,误操作率高,应该慎用。微软估计也意识到这一点了,到了WP7时代,直接把滚动条去掉了,从一个极端到另一个极端。结果,结果有的程序就杯具了。WP7上的adobe reader就是一例。由于少了滚动条的快速滑动,又没有书签,没有快速定位,翻页只能通过划屏幕来翻。页数少还可以,页数一多就伤不起了。我有一个900页的pdf,习惯睡觉前看几页。每次打开,都是从第一页开始,然后一通狂划屏幕,才可以翻到你以前看的那页。所以近几个月来,我上床躺下第一件事情就是划屏幕,闭着眼睛把屏幕划五六百下,差不多就到我上一次看的地方了。有时候比较困,还没划到我看的那页,人就已经睡着了。说到阅读,WP7还有一个问题是转屏关不掉。所以我躺着看书的时候,被迫保持某特定体位看书,一翻身就转屏。我老胳膊老腿无所谓了,如果是小盆友,肯定影响骨骼健康发育啊。就凭这这样的体验,我居然把那个900页的pdf看到了800页,对微软对WP7没感情能行么?

WP7连截图功能也没有,只能给大家配一张market的原图了。

配图:一两页的pdf还可以,页数一多就hold不住了

说到体验,其实安卓跟iPhone差不多,微软的Metro UI比较另类。我一直在想一个比较客观的词形容他,想来想去只能用另类。微软可谓是起了个大早,赶了个晚集。成了手机OS的后来者,只能做一些跟别人不一样的东西才能吸引眼球,Metro UI就是这样的东西,说它好的人跟说它不好的人都不少。这个就各有所好了。如果说iPhoneAndroid是普通体验,那么文艺体验跟二逼体验都可以颁发给Metro UI。文艺文艺在特立独行,勇于创新,与众不同。用惯了安卓跟iPhone的确会让人眼前一亮。二逼二逼在仓促推出,有些地方实在欠考虑。比方说新浪微博官方版大量运用了全景panorama视图,一层套一层。这个panorama跟传统的tab比起来,特点就是看不到全貌,只有左右划一遍,才可以看到全貌。如果panorama层层嵌套,很容易你就跟丢了,不知道你自己在哪一层里了。按back的时候,不知道按几下才会回到顶层。

当然,体验还有一部分是跟机器相关的。苹果擅长优化,在优化无法做到极致的时候,堆硬件或许是比较不错的选择,所以安卓跟WP7都有堆硬件的现象。

如果让我给体验打分,我会给苹果打100分,给安卓跟Windows Phone80分。

预测篇

又到了做预测的时候了,鸭梨很大啊。还是把预测期放在五年吧。iPhone 9S,Android 9.0.2,以及Windows Phone “Lego”是什么样子呢?

个人感觉,软件厂商唱主角了,标志着智能手机行业的洗牌基本上已经结束了。五年之后,应该不会有非常大的市场变化。

iPhone跟现在相比,市场份额应该会变化不大,如果非得要预测一个趋势,我认为是往下。就像当年的Mac跟PC竞争一样。还有就是我前面说的由于策略原因,也不可能让iPhone一统天下。还有个不确定因素是帮主没了。像苹果这种公司,有时候的确需要有个精神领袖的领导作用。才可以“控制”一部分人。当然,在国内不在此讨论范围,国内还属于装13阶段。很多人买来iPhone只打电话发短信,一个app都没安装,就是为了装13。最坏打算,iPhone以后可能会沦为文艺手机,就像上个世纪末,PC战争结束后的MAC PC一样。

Android号称已经是智能手机第一了?的确,如果要拿PC战争来类比,iPhone就是MAC,安卓就是Windows。如果历史重演,预计五年后安卓会坐在第一把交椅上。产品会遍地开花,从几百块的民工机到几千块的所谓旗舰机(我到现在也没明白旗舰机到底是啥意思,iPhone 4S算苹果旗舰机?)第一把交椅是应该的。但是安卓要解决的问题是应用版本兼容性问题,以及如何让开发者获利。为什么不在Market里面为每个应用都设置一个最低的硬件要求,低于这个硬件要求的,就不让下载。就像现在的PC软件一样,最低配置,推荐配置,不是工作得挺好么。

Windows Phone是最大的不确定因素,一直没有觉得它有非常独特的,不可复制的优势。凭着微软的大骆驼,再瘦应该也不会消失掉。倒是Windows现在支持ARM了令人挺担心。我很担心Windows Phone会被自家兄弟吃掉,有没有可能有一天,你手机上运行的系统就是ARM版的Windows呢?虽然现在听起来还很遥远,但是不是没有可能。

再远一点,甚至五年以后,会不会Phone, Pad, Laptop的概念都模糊了呢?如果真是这样,那讨论谁老大,谁老二也就没什么意义了。无论如何,对用户来说,都可以得到好处,期待着这一天。

 
formats

iPhone vs Android vs Windows Phone

昨天4500入手了谷歌的三儿子,Galaxy Nexus。用了一天,感觉畅快淋漓。昨天在微薄上发了一条消息,说终于不用忍受WP7了,激起了一些小讨论,可能有WP7的爱好者吧。那就详细的说一下我的看法吧。也算是一个在Mobile Computing的Research和Development领域摸爬滚打了将近10年的人的一家之言。本来文章的题目叫“我为什么要换安卓”,后来想干脆要玩就玩大的,把几个平台都评头论足一番。

 

那天在小米网站上看到有个展示手机的功能,就花了点时间做了一个图,如下(点小图看大图)。

十多年,用了这么多部手机,除了第一步Motorola的手机是所谓的feature phone之外,其它的都可以算是smartphone。这其中绝大多数都是Windows CE。当然,这跟我当了4年的微软Windows CE的MVP有关系。我的Mobile Computing之路也是从Windows CE开始的。当然,这几年对Android玩得多一些。至于Research领域么,不在手机,就在此不表了。

做预测什么的很容易,每个人都可以号称自己是xx专家或者砖家。至于预测准不准就是另一回事了。4年前的2008年,我也写过一篇类似的文章,地址如下:

iphone V.S. Windows Mobile V.S. Symbian

http://hezongjian.com/blog/?p=9871

iphone V.S. Windows Mobile V.S. Symbian(续)

http://hezongjian.com/blog/?p=9872

大家可以去围观。也在这两篇文章里面做了一些所谓的预言,当然,有些实现了,有些没实现。比如说当年如日中天的Symbian的悲惨命运被我几乎一点也不差的言中(份额下滑->拥抱开源->抛弃Symbian->拥抱微软)。当时作出拥抱微软的判断,是因为palm拥抱了微软,而且我当时对微软的产品比较乐观。所以对Windows Mobile的预计也太乐观,甚至预计Windows Mobile的份额会上升,今天看来也不过是徒增笑料而已了。

当时写那篇文章的背景,是苹果邀请我去美国开会,拿人手短,吃人嘴短,自然要对苹果美言几句。今天再来写么,也很难摆脱个人感情因素,因此本着信息公开原则,说说我跟这几个平台,几个公司的千丝万缕联系,这其中有没有个人感情因素,读者自己判断。

微软与我:02年到微软上海技术中心实习一年,后来当了四年的Windows CE的MVP(自己退了)。从工作以来,跟微软亚洲研究院一直联系紧密,有两门微软的精品课程,还有联合项目。从个人感情上来说,与MS的感情是最深的,甚至当时抛弃会计,转到软件学院学习,也是因为受到盖茨首富的激励跟01年的时候听了微软校园行张亚勤的讲座而起的贼心。

谷歌与我:07年开始,有一个联合的实验室,有一个联合的精品课程,谷歌为同济捐赠了20W,支持我们开课跟建立联合实验室,上面提到的一些安卓手机其实不是自己掏腰包,而是在实验室借用的。还搞了一次联合的师资培训跟Android学生竞赛评委。计划在cloud computing跟mobile computing方面展开一些joint research,因为我来HK了所以搁浅了。对于谷歌而言,个人觉得他们很务实。

苹果与我:在同济有个俱乐部,但是与我关系不大,我至今不会苹果编程。唯一的恩惠是我两次带队去美国旧金山参加WWDC,听了两次乔帮主的神级别忽悠。虽然第一次见乔布斯前我都没接触过任何苹果产品,但是听了讲座以后,我也被忽悠的自掏腰包买了不少苹果产品。BTW,我也现场听过盖茨演讲,那次估计盖茨感冒了,一直在咳嗽,然后他带病演讲,在演讲的时候不断的咳咳咳,让我感觉首富也得病,真不可思议。然后听完之后,只记得盖茨咳嗽了,没有其他收获。但是帮主的演讲,每一个动作,每一句话,每一个眼神(我离乔也就50米,能看清眼神)都极为到位,人家也是带病演讲,而且还带的是癌症。这才是置生死于度外的专业级忽悠。

08年以来,变化太大了,那篇文章中评论的三个系统,一个已经挂了,一个已经换马甲了,还有一个系统没挂但老大挂了。所以可以把这文章当新作品看。作为码农,肯定会讨论技术,一个系统要成功,技术重要,但不是全部,所以我尽可能不对技术细节做太多评论,写不开,只写一些high level的东西。如果想了解细节,可以看本人的《移动应用开发》讲义。好了,正文开始。

———————————–分割线——————————————

技术篇:

从技术角度讲,我本人最欣赏Android。当然有些人说安卓抄iPhone界面,肤浅!没看到安卓的架构都是抄的,改过的Linux上面跑改过的java虚拟机,这不就是抄早期黑莓么。不管它是哪里来的,反正今天他就是这样子了。之所以欣赏安卓,是因为他在软件架构层面设计的非常优美,对于软件安装、卸载;通知;广播;组件调用;消息传递;权限管理;异步等,都有比较优雅的实现方式,让Windows程序员,Linux程序员甚至.NET/java程序员都会觉得眼前一亮。iPhone跟Mac OS X架构类似,Native Code开发最大的问题还是资源管理,提高了码农的准入门槛,在纷纷奉承开发人员的今天,不得不说是个遗憾。Windows Phone也有深深的微软痕迹,基于.NET的托管代码,很多实现可以看到以前微软技术的影子。

别的不说,就说一个弹对话框问题。MessageBox这个API在桌面上用的很多,但是在手机里面如果太多的对话框,不是好事情。除了对话框通知用户,应该有其它方式。在安卓上,弹出一个传统的windows一样的对话框,估计要消耗10行代码左右。在ios上我不知道,但在Windows Phone上,只需要一行代码。这里一行代码就实现一个功能是好事么?不见得,很容易导致码农对此功能的滥用。所以,在Windows Phone的各类应用上,都可以经常看到弹框:退出的时候,弹框,问你要退出么,亲?保存的时候,弹框,问你要保存么,亲?发送的时候弹框,问你要发送么,亲?废话,我当然要退出,当然要保存,当然要发送,烦死了烦死了,把我当傻子。倒是搞了一个search键,一不小心碰到就打开浏览器上bing了。你这个时候怎么不弹框问我你要search么?我不要search,真要search我也不用bing去search,可你那个破搜索按钮一不小心就按到了,谢特!这也都罢了,哪个傻子设计的,WP7里面弹出来的框居然在屏幕的最上边,单手操作的时候,伸手指头去够那个框的yes/no去把它点掉,手指头太短的人,花好大力气也够不到,比iPhone跟安卓的居中弹框费劲多了。在安卓上,各种各样的弹框虽然存在,就少不少。因为码农可以用Toast,Toast只要一行代码,而toast却不那么烦人。iOS么,我不了解,iOS 5里面从安卓山寨来一个从上面拉下来的提示窗口,不得不说苹果也意识到弹框提醒太多是要不得的。

插图:我当然要replay,否则我干嘛按replay按钮?你干嘛把OK放得那么远,谁的手指头有那么长?

 

当然,任何设计都有tradeoff,安卓“优美”的设计有时候是用性能换来的,比方说intent。

单单从软件架构来讲,如果给安卓打100分的话,给iPhone跟Windows Phone都打70分。

策略篇:

还是从系统的开放性,封闭性上来讨论策略。

换了一批竞争对手,iPhone依然是最封闭的,这也是苹果公司一贯策略。market,硬件,销售等上下游,苹果公司都想控制。凡跟苹果有竞争关系的软件,都不能在Store里面卖。封闭带来的坏处么,自然是不可能一家独大。用反证法,试想如果某一天只剩下苹果一下手机公司了。苹果公司选中的硬件厂商就有生意,苹果公司不选中的硬件厂商就生意冷清。苹果公司选中的运营商就有移动用户,苹果没选中的运营商就没移动用户。这是不可能发生的,ZF也不会让它发生。封闭带来的好处么,也不少,还是木桶原理,软硬件协同设计做的非常好。market的封闭也可以保护开发人员,让码农的付出可以获得实惠,此外,平台的单一性也可以降低开发难度。

安卓是最开放的。代码都给你看,那就啥秘密没有了。各种山寨手机都转战安卓了。MTK也转战安卓了。当然,开放有开放的问题。有些硬件厂商的确不给力,我见过几百块钱的单点触摸的安卓手机,有人用了这个手机之后,就断言安卓被iPhone秒杀。反过来用了galaxy nexus之后又说安卓要秒杀iPhone。500块钱跟5000块钱的手机都是安卓,可是哪个最能代表安卓呢?难说。安卓的开放性对开发人员来说也不是个好消息,在android market里面赚到钱的程序员比在iPhone那里赚到钱的人要少得多。豌豆荚一出,什么软件都免费,还不用像iPhone一样辛苦越狱,对用户是爽了,对辛苦的码农呢?

这次Windows Phone走得是中间路线,小厂商没法从微软那里拿到Windows Phone的授权。只有大厂商才有资格开发WP手机。而market也是封闭的,要微软审核。

由于不同公司策略都不一样,无法打分,如果一定要打,就都打100分吧。


 
formats

剽窃plagiarism

本学期《研究伦理》课程即将结束,要交两个作业,一个是独立写一篇论文,一个是团队项目。今天上午团队小组最后一次会议,闹出一些不愉快的“国际纠纷”,因此想到了写这篇文章。

事情是这样的,小组作业要8个人一组,做一个小booklet,我们的topics是做一本关于山寨文化的册子,介绍山寨的起源、定义,犯了啥伦理错误等。最终的结果如下图:

 

本来是我们8个人分工,意大利的Riccardo同学是组长,带了5个大陆人,2个香港人一起做册子。我们7个中国人分三组,每组都做不同的部分。我负责找案例,找了一些山寨建筑(山寨白宫)、山寨动画片(高铁侠)、山寨软件(facebook)、山寨日用品(KFG,周住 洗衣粉)等,不要说我是汉奸卖国贼,这些在祖国的确存在。问题有俩:

一个大陆来的小姑娘,本来负责Introduction,但是她关于Introduction的内容啥都没做,从网上copy了两段文字,给Riccardo发过去了,估计是在国内这事干惯了,到香港刹不住车了。让意大利童鞋很为难。虽然我们都知道意大利就是欧洲的中国,随地吐痰,不排队也是家常便饭,但是人家做起事情来还是很认真的。发现了抄袭,没有用她的材料。然后今天分工作量的时候,组长同学坚持给这个小姑娘5%的分数,多一点都不行。PolyU的博士生,课程考不到85分就算挂。如果拿5%的分数,那基本上就是挂。所以这个同学开始撒泼了。死活要多一些比例,一哭二闹三上吊,就差满地打滚了。无奈英语不如人家意大利人好,辩论不过人家。然后组长要找任课老师评理,她又不敢去,因为一旦发现剽窃,估计要开除学籍遣返大陆了。然后就在那闹。闹了半天,意大利哥们估计也学习过一些和谐社会理论,为了和谐着想,同意每人12.5%了。这个时候,在国内上课的时候,课程项目一些同学抱大腿,得高分的情况又一幕幕浮现在我眼前。在国内整个社会都不诚信,学生们也不诚信,这稍微情有可原,不能追求学生们是圣人,但是到了香港诚信社会,还要来这一套,那跟在国内混有啥区别?想到这里,路见不平,拍案而起,大喊一声No,Ethics课程,岂能这么不Fair的分分数,必须要Fair的分!虽然吃了一记大陆同胞的卫生球眼。但是我的坚持还是有效果的,又经过半个小时的讨价还价,最后成交,只给了那个女孩7%,我是13%,意大利朋友21%。其实说实话,实在是太客气了。既然你自愿离开温暖的社会主义祖国怀抱到外面来求学,Unethical的行为就不应该再受到庇护。不管怎么说,希望她在以后能学到一些教训吧。否则还是要吃亏的。

开会的时候还有一个小插曲,一个香港人估计忘了要开会,没来。给他打电话的时候他说忘了。估计挂了电话之后觉得不妥,又发了个短信,说I am sick, can not be there, very sorry之类。结果不发还好,收到短信的时候,我们正在为诚信不诚信争得面红耳赤,发现突然又来了个不诚信的,刚刚还说忘了,现在又说sick,你sick你怎么不早请假呢。他的share瞬间被我们一致同意降低了1%。看来香港同胞跟大陆人有共同之处啊。

第二个作业是自己写一篇文章,结合自己专业讨论一些伦理问题。我写的是流氓软件中的伦理问题。每个人的作业,都要到在线反剽窃系统里面过一遍,看看你跟别人的相似度,虽然对剽窃的定义不同,但是这个系统只要有7个连续的单词跟人家一样,就会被判做相似,无论你是否cite了人家的文章。按照剽窃的定义,即使你说了你是cite别人,也是有字数长度限制的。这个系统非常严格。

我的文章提交上去之后,系统判定相似度是8%。这个8%有些冤枉,因为有些重复是在参考文献部分,我的文章跟另外一篇文章引用了同一篇参考文献,就被判重复了。图中(点小图看大图)的红色部分一点也不冤枉。我引用了wiki的一个定义,其实是半个定义,连一句话都不到,就被系统检测出来了。标红,要重新修改,重新提交。

国内的反剽窃一直在喊,但是一直雷声大雨点小。有,但是不用。为啥呢,因为一旦这个系统上了,不但会搞翻一票学生,还会搞翻一群既得利益者。xxx院士,xxx教授都会中标,仔细回想了一下国内从小学到大学的课程、讲座等,的确没有一门课告诉过我什么算是剽窃,什么算是侵权,什么算是不ethical。即使开这门课,也会被大多数人以为又是马哲,邓论,三块表的延伸,而看成一种负担吧。或者这也算是大环境吧。

我的论文,我的书籍都被剽窃过。我也不是圣人,我也曾经网上copy过文章交差。为什么要写这篇文章呢?权当给自己看吧,以后不要再剽窃;再奢求一点,也希望看到这篇文章的人,能够从中得到点什么。

 
formats

年终总结报告(二)

 

今天实验室的师兄们去西贡旅游去了。又剩下我一个人。现在想想来香港半年都没出去逛过,一半原因是因为我勤劳,一半原因是因为我懒,他们七点就跑了,我还想周末补觉。接着写。

 

先写补遗

 

上一篇没有写本科的教学,因为我不熟悉,其实仔细想想,还是略知一二的。就把知道的写写吧。香港这边的本科以前是三年,从明年开始改成四年毕业。据说因为课程增加了一些政治课,然后就有人抗议,说要洗脑。就按三年的写吧。其实Syllabi网上都可以找到,在这里.Level 5的是给硕博上的,剩下的是本科课程。

http://www.comp.polyu.edu.hk/en/taught_courses/syllabus/index.php

 

跟国内第一个不一样是课程灵活。所谓灵活是随时可以加减课程,只要系里面的Program Leader同意,学术委员会再过一下就可以了,不需要报送学校领导批准。国内软件学院的课程曾经也是非常灵活的,不过那是在学院刚成立的前三年,那个时候我们的课表也不需要进选课系统,也可以随时按照需要增减课程。但是后来学校就觉得软件学院在找麻烦,要我们调整课程要上报培养计划,进选课系统,便于校领导管理。其实开哪门课,不开哪门课校领导懂啥啊,他们想的就是“规范”管理,所谓规范也就是省事的意思。你提前几年计划报上来,然后就按照这个开,不按照这个我就收拾你,这就是所谓的管理,不惹麻烦,维稳是第一位的,至于说效果那是其次。现在软件学院的大纲是每年调整一次,跟其他学院四年调整一次相比还算是好的,但是每年调整其实也有问题。比方说我现在调整大纲,那么调整了之后,只能用在2012届以后的学生身上,之前入学的同学不能立即生效,还得按以前的来,这叫老人老办法,新人新办法。问题是如果我现在给大三的同学加一门课,其实这门课真正的开始上,要四年以后。因为2012年入学的同学才大一,要等他们到大三才能上这个课。要预测四年之后软件领域啥技术有用啥技术没用这可绝对是。我参与了软件学院07年的培养计划调整,现在基本上都落实了。比较自豪的是我成功预言移动开发要火,加上了Android课,当时顶住诺基亚的诱惑,没有开Symbian。现在Android课跟谷歌合作上了,效果不错。比较不幸的是我在课表里面加了J2ME,失算了,谁知道J2ME挂得这么快。这个课要删掉的话同理,也要四年之后才能起作用。向选过J2ME课程和即将要选该课的同学报以诚挚歉意。

 

第二个不一样是实用。香港金融业发达,反倒是IT不怎么样,没几家软件公司,本地搞出来一个Whatsapp(说微信山寨对象可能大家更了解)都被奉为香港的骄傲。所以计算机系里面也有很多跟金融相关的课程。编程学得反倒不多,C/C++都不开,就开java。毕业如果要做码农,也就是用java开发信息系统。奇怪还有门课是iPhone编程,也体现实用吧。我记得国内开Windows程序设计的时候学校都有领导反对,说这是给微软做广告。所以我们现在Android课程都隐蔽起来了,叫移动应用开发,不敢叫Android,如果直接叫安卓应用开发,凭谷歌跟ZF的关系,估计直接毙掉。系里面硬件还是不错的,有个苹果机房,40台iMac,可以上苹果课。手机都是自备的,可能对香港人来说买个装iOS的设备不困难。还有就是这边学生少,没有国内那种80个人的大班。

 

我这个学期参与了两个本科教学,一个是COMP201的助教。一个是COMP200的考试监考。

 

COMP201名字叫编程原理,其实就是Java程序设计,大一的一门课。我要带实验。所谓带实验就是每周有个时间集中上机,布置一些小练习,让大家做,遇到不会的就有助教解答。其实这是学编程的很好的途径,尤其对初学者。软院一开始也是这样的,我当年学C语言的时候,朱宏明就是助教。但是不知道为啥现在貌似没有了。大一的C/C++又成了老师讲得多,学生练得少了。除此之外还要看作业。老师每周都布置一次作业,有填空题,编程题什么的。所有学生的题都是一样的,但是我还是纳闷为什么每个人错的都不一样,如果在国内给所有人都布置一样的题目,那交上来估计答案都是一样的。难道香港学生不对答案么?后来我找到几个大陆学生的作业(大陆学生很好分辨,名字可以用拼音拼出来),发现他们的作业都是一样的,连编程题都是一样的,突然觉得释然了,这才是我熟悉的祖国。

 

COMP200这门课更有意思,类似于综合实训。考试的时候是叫Amazing Race。就是类似国家宝藏那种解谜。早上八点开始,在校园里面各个场地,用自己所学的计算机知识解开一个个谜题,最终通关。一共有十关,可以放弃两关。我记得的关口有:方程求偏导数,跑1000米之后写代码;写一段Python代码(看来他们还有Python的课程),求身高体重比,然后输入测试数据,最终计算结果就是下一个场地的地址。简单的二进制转换ASCII码。还有组合数字电路,扫描二维码等等。通过这一个项目,把学习的知识都融会贯通起来了。这个项目给我的震撼还是很大的。当时就想如果能在嘉定校区办一个,那么大的场地,肯定比PolyU这个好多了。但是想想恐怕又不现实,扫描二维码总得有个Android或者iPhone手机吧,不能强迫每个学生都买个iPhone吧。PolyU这边全校都有WiFi,随时可以上网查资料。扫描二维码扫出一个网址来,你手机不能上网,没用。还有我们在一个地方放十个提示纸条,会不会有team互相拆台,第一个到了把所有提示纸条都拿走了,后面team全挂了。

 

有网友说我老是恶意揣测中国人。某种程度上说,那就是社会诚信跟道德水准。从一些很小的事情就看得出来,比方说我前几天出去吃饭,上菜太慢了,我说xxx菜有没有做,没做我不要了买单了。老板直接说还没做,然后给我们道歉客人太多忙不过来。在国内的时候,凡是遇到这种情况,答案都是差不多的:快了,快了,已经下锅了;但是真实的情况是什么样呢,不可能都是刚好在下锅的时候问吧。第一个直接告诉我还没做的,就是在香港遇到的这个。

 

 

公共服务

 

PolyU的信息化做的很好,体现在几个方面。无线网全校覆盖,地方那么小,覆盖起来难度不大。用学校的ID就可以登陆。不但学校,整个香港似乎都是Wi-Fi覆盖的。到处都有香港运营商的PCCW什么的这种热点,而且跟学校有协议,用学生的ID也可免费以登陆社会上的热点。相当于只要是香港的学生,全港都可以随时Wi-Fi。3G套餐没用了,我来香港到现在也没办上网套餐,因为根本用不到,到处都是Wifi。

 

先说系里的。报到的时候每个人分配一个Novell的ID,是你所有一切的登陆ID。包括你的邮箱,打印机,Unix SSH,云终端等。

 

每个学生一个邮箱,无限容量。系里面所有通知都是通过邮件发的。这在企业里面算很正常,但是在国内高校推广起来难度非常大。软件学院去年上了微软的Live@EDU(其实PolyU用的也是这个),没人一个@sse.tongji.edu.cn的邮箱。结果在老师里面就没推广起来,有写老师强烈抗议学校逼他改邮箱。他就喜欢163,或者QQ邮箱,给他分配了学校的邮箱他也不用,通知发到他那个邮箱里面他就说没收到,现在为止这个推广基本不成功。这也从一个侧面反映学校管理混乱吧。

 

打印机每个学生每个月有50-200张纸的打印限额,研究学生多一些,全院用一台。也非常方便。想想软件学院的复印机、打印机还定制度,仅限老师使用,学生偷用一经发现还警告啥的,相比之下略显小气。有一点很重要,不能打书复印书。这是侵权的,一个PDF书直接打出来,会立马被IT Admin请去喝茶。复印也一样不允许。而这边的书都超级贵。动辄就100美元。很多香港人跑到深圳去买国内的影印版。价格是1/10。体现社会主义优越性啊。

 

云终端挺有用。现在学院实验中心经常装机器,老师上课要装个啥新软件,实验中心的老师就惨了,装一台机器,然后网络对拷,经常要拷贝一天。PolyU这边用云平台XEN的虚拟机,装一台虚拟机,然后做成template,克隆出无数个,每人一个。配上虚拟桌面,每人还有个云盘放私人数据。上课非常方便,你可以在任何地方用你的ID登陆云里的虚拟机,数据都还在。课结束了把虚拟机就删掉了,比网络对拷跟还原卡这种原始方式优越很多。

 

这边所有课程都要上网。交作业,批作业,讨论,都是网上的,还有些老师会把上课视频传上去。学校会搭建一个基础的平台叫learn.polyu.edu.hk,然后跟选课系统什么都是联动的。这点跟国内比就好多了,比方要交作业,我增加一个Assignment,设一个due date,然后就不用管了,学生们自己上传,过了due date提交就close了,然后系统会发信给老师跟TA,说快去改作业,改完作业之后,每次作业占总成绩的百分之多少,也都是系统自己算的。国内交作业有发邮件的,有hard copy的,有刻光盘的。其实这些系统都有开源软件,回想起在国内搭建一个教学网站的痛苦,哎,一言难尽。

 

 

其它

 

看来看去,似乎这篇博客没有猛料,最后放点猛料吧。如果被和谐了,肯定就是这段。校园里面有个_民(主&女^神的雕像。刚来的时候我还以为是山寨版的自由女神,人家美国那个女人一个手拿冰淇淋,我们这个女人两个手拿。后来才知道原来还有深层次含义,看来我当年还是too young啊,根本就不知道这东西是从大陆传出去的。

 

跟这个女神对应的是一堵民)主&墙。这座墙上大家可以随便去贴大字报,体现言$论#自!由。但是经过我半年观察,发现其实所谓的资本主义自(由_民^主的确有问题。无论让你上街散步也好,还是让你在墙上随便贴啥也好。其实更多的是让人泄愤用的。比方说这个墙,本学期最有名的一个事件是写大字报批斗某个宿舍的舍监事件。一群学生写大字报说舍监滥用宿舍费,打压学生自由,独断专横等等,每个字都是超大一号字体,甚至还拉了一个老外一起用英文来写大字报,说舍监不但对港人不好,对外国友人也不客气。后来经过半个月几轮批斗,舍监要通过法律途径解决,然后这帮写大字报的人立马怂了。写信道歉,说所有指控都是伪造的,舍监尽心尽力,对我们很好,只不过是我们想在宿舍通宵打麻将,舍监说大呼小叫影响别人休息,我们怀恨在心,伪造的。

 

还有就是散步问题,其实也是泄愤。我刚来香港的时候菲佣居港问题闹得挺大,周末上街,有两帮人在散步,一帮在支持菲佣居港,另一帮在反对菲佣居港,拿大喇叭在对吼。然后散完了,回家了,然后就没有然后了。你散你的,ZF该咋办还咋办,不会根据这两帮人谁的喇叭响听谁的。

 

因为香港人可以在现实中泄愤,不需要在虚拟世界泄愤,所以他们的BBS什么的一点都没意思,文学水平很低。不像大陆用各种幽默,隐晦,比喻,拟人,借古讽今,指桑骂槐等文学描写手段,去发泄不满。没准若干年以后这些网上的博文整理整理,算是我们这个时代的经典文学作品啊。

 

 

科研依旧先不写了。毕竟才半年。再看看情况。

 
formats

年终总结报告

 

不知不觉,掐指算来,来香港学习已经马上就要半年整了,经过今天一天的奋斗,把计算机网络的Report写完了了。本学期差不多也就告一段落了。一直想写一点东西,把再国内高校的情况跟在香港学校的所见所闻对比一下。但是始终觉得可能时间不够长,写出来的东西不够客观。现在年终了,又收到了国内邮件发过来的年终考核说明,要写总结报告,虽然大家知道都是在扯蛋,但是也都要写。我也写一点东西吧。这个就当年终总结报告吧。当然,肯定不会把这篇文章交给我党,就像很多企业都有公私两套账本一样,我的年终总结么也要有两套,给我D的当然是他们喜欢看的,“在xxx思想的指导下,在xx的领导下,我们的教学事业取得了一个又一个进步……”,这个么,就当私的。只给自己跟博友看。

 

做Research都要讲究个Motivation,写这篇东西当然也有个Motivation。我的Motivation不是想暴露国内,或者说同济教育的弊病,不是想抨击我党领导下的有中国特色的社会主义教育制度。只是把两者的不同对比一下,不包含任何感情色彩,哪个好,哪个坏自己去分析去判断。我个人的感情色彩么,当然是要揭批万恶的资本主义社会,回忆美好的祖国温暖大家庭的校园生活,以显示共产党员身在曹营心在汉的高尚品质。好,开始了。为了不至于让我思维太发散,我基本按照同济官网的组织结构来写了。

 

学校简介:

 

香港理工大学在香港只能算二流学校,但是工科比较强劲,全球排名还是把同济甩开不少。学校里面经常看到的一句话是Where application meets innovation。总体而言还是非常重视“学以致用”,无论是做科研还是教学,都是围绕应用来的。这也是我当年选择PolyU的原因之一。我觉得这点跟同济,或者软件学院很像。也是我比较赞同的教育理念。学校历史非常短,没法跟同济百年历史比。学校也非常小,所有的校园面积加起来估计跟嘉定校区的操场差不多大,基础设施很差。学校为了省空间,在空中搭了一个平台叫Podium,把所有的楼的三楼连起来。这样人只在平台上走,车子在路上走。想象嘉定校区的马桶楼,哦错了,是45度角仰望星空楼,无限延伸,延伸到覆盖所有楼,就是Podium。所以一开始来学校特别容易迷路,进了校门就是三楼。从某座楼出来要按P而不是按G楼(香港的楼跟英国鬼子学,1楼下面还有个Ground),否则就不知道跑到哪里去了,有一天晚上我学习太晚,2点回去的时候迷迷糊糊按了G楼,结果出来的时候立马清醒了,以为见鬼了,车子都开到平台上来了。学校非常小,很多细节地方都觉得让人憋屈,跟同济嘉定校区3500亩地的豪放完全不能比。最搞笑的是学校的人坐不下了,学校居然在附近租了几层写字楼,然后把学生跟老师放到写字楼里。我刚来的时候就在写字楼里面坐了两个月。我隔壁是卖化妆品的,卖药的,卖保险的公司。不过这还算好,据说香港城市大学更悲剧,整个学校就是半座楼,一楼是商场,二楼是超市,三楼以上是学校,本人没去过,就不展开了。

 

校园景观:

 

学校里面太憋屈,没什么好写,能够体现资本主义唯利是图的一点是所有的楼都是以资本家名字命名。什么何鸿燊楼(赌王),李嘉诚楼(大资本家),还有一些我都不知道是谁,比方我呆的那个叫蒙民伟。国内那个清华真维斯楼,跟这个比简直小巫见大巫。不但是楼,连一个椅子,一片绿地,一棵树,一个讲台,甚至墙上的一块瓷砖,都刻上给钱的人的名字。而我们敬爱的总理温*家_宝的题词,居然放在很不起眼的一个地方,温总的名字跟赌王比起来,太小了,以至于我一个快毕业的师兄都不知道学校里还有个温总题词。这要是在国内,早就烫金镌刻,把题词谱成校歌,供全校师生传唱了。

 

学校周边有几个著名景点,一个是红磡体育馆,就是开演唱会的地方。没来香港之前就一直有所耳闻,来了之后发现见面不如闻名,绝对被国内很多学校的校体育馆秒杀。占地小,还没特色,本人不爱好娱乐,所以至今也没进去过。还有一个是红磡火车站,我每天上学放学都要经过。建于1975年,国内还在搞革命呢,英女王奠基的,不过现在看来有明显的军事堡垒特征,那窗户都是一个个狙击点。因为这里是京九铁路的终点站,所以n多大陆人,估计大陆人太多了,也是我发现香港唯一一个靠行右走的地方。火车站出口经常有某功在搞宣传,发大x元时报,让你一下火车就知道,啊,终于来到民(和谐)主社会了。这第三个就是火葬场,估计香港就一个火葬场,叫万国殡仪馆,紧挨学校,学校里面很多窗口一抬头就可以看到“万国殡仪馆”这几个大字,一般学校把这样的窗户分配给老外坐,反正他们看不懂中文,不知道那几个黑字是啥意思。这个殡仪馆在很多黑帮古惑仔电影里面都有镜头,比如《无间道》里面黄Sir挂掉出殡的那场戏,也算著名电影取景地了。

 

机构设置:

 

PolyU的校长姓唐,来Poly之前就跟他见过一面,还聊了两句。跟国内一样,校长不是最大的领导,上头还有“书记”,香港的所有公立学校的“书记”都是一个,就是香港特首。跟国内书记一样,PolyU的书记也是打酱油的。据说只在每年毕业典礼的时候露面一次。给博士生颁发学位。不知道我毕业的时候是哪个“英”给我颁发学位啊。

 

还有就是这边的管理体制非常扁平。学校下面直接对着各个Department,学院(Faculty)在这边是一个虚的概念,虽然也有学院的Dean,但是也是属于打酱油职位,除了Dean估计没有属于学院的其他职位。Department Head就最大。几个同属于一个Faculty的Department办公都不在一块。而且学院的组织非常搞笑,我感觉就是把几个Department随即组织在一起的。比方说我们学院(工程学院)里面还有个房地产系。然后数学跟服装系是一个学院。

 

我所在的计算学系(Department of Computing)大概有50个老师,这样算起来规模应该跟同济软件学院规模差不多大。专业教师跟行政教师的比例大概是4:1的样子。同济软院现在大概是1:1。这个么,大家可以理解,要有班主任辅导员管理心里脆弱的学生,要有教务管选课退课,有国际合作办管国际合作,有院办管杂事,有党支部管思想,有司机管开车,有出纳管报销,有实验中心管机房。这些在Computing系里统统没有。只有一个行政办公室,叫General Office,大概10个人,啥他们都管,也没看到他们累,可能踢皮球少,我目前还没发现他们高效运转的秘诀。其他行政职务都是Professor们兼任的,像国内的学术委员会主席,教学副院长,科研副院长,国际合作副院长等等,都是兼的,没有专门的院长室,副院长室,主任室,专家室等,除了Head房间大一点(要多坐一个秘书),其他每人一个房间,大小一样。这个不同也体现出国内对权力的膜拜吧。

 

教师当中,Assistant Professor大概占一半,就是李开复的那个职位,不是Tenure,剩下的副教授大概10个,教授只有3个左右,典型的金字塔。国内的很多学校教授最多,副教授其次多,讲师最少,倒金字塔,跟微博上最近流行的一个中国的企业组织结构很吻合。系里还有大概个位数的老师是Lecturer,讲师,只上课不做科研的。

 

招生就业

 

香港本科生跟国内差不多。况且我了解不多,不多说了,最不一样的是本科以上的学生。香港这边把本科以上的学生严格分成Research Student跟非Research Student。所谓研究学生是要做学问,有导师,写论文的,非研究学生只要上课。比方硕士分为Msc跟MPhil,前者是只要上课就可以拿学位,后者要写论文,发Paper。由于国内没有这种分别,所以Msc非常受大陆学生欢迎,很多大陆学生过来读Msc,只要晚上上课,白天玩,一年修满学分就可以拿个硕士学位,回国之后,Msc跟MPhil都可以被认定为硕士,没区别,国内也没几个人知道啥是Msc啥是MPhil,但是MPhil跟Msc毕业难度却天壤之别,国人喜欢捏软柿子。因此花钱来读Msc的特别多。一年硕士就毕业,国内要两年半甚至三年,那是绝对速成,划算。博士当然都是Research Student,毕业的时候给你发一张毕业证,没有任何防伪标记,繁体中文写着恭喜你获得“哲学博士”学位。我就怕毕业回国之后有人以为我是学文科的,而且专修“马哲”,所以修出个哲学博士。国内同学们知道除了马哲还有别的什么张哲,李哲么?

 

反倒是PhD和MPhil的界限不是那么明显,本科毕业也可以读PhD。MPhil可以读了一年之后转成PhD。奖学金额度也一样。我身边几个人都是国内本科毕业过来读PhD的。这个在国内基本不可想象。

 

所有学生入学都不需要考试,就是申请。只要有人肯给你50万奖学金,你就可以入学了。国内也要学习申请入学,我个人不看好。你学可以,把相关的都学过来啊,让导师自己掏腰包掏50万你再招人啊。现在国内博士生是公费,你让纳税人出钱,导师当然不心疼,名额给谁都一样,难免就又沦落为拼爹了。博士生入学没有时间限制,随时都可以报到,三年毕业走人。

 

人才培养

 

说说上课吧,这边本科生单独课表,硕士跟博士是一个课表。又体现了MPhil,博士界限不明显。所有课都是英文教学。我这个学期选了三门课,计算机网络,人机交互跟研究伦理。上课都是跟在职学生一起上的,所以晚上上课,白天不上课。我们其实也跟在职差不多,白天做research,晚上上课。课业鸭梨还是很大的,因为这边如果有课拿不到B以上,你的学位就没有了。而我导师要求说,如果拿不到A,你就别当我学生。

 

选网络最初也是想捏软柿子,自己本科,硕士的时候都上过网络,结果这柿子捏上去才发现太硬了。上课的老师在网络领域有多年的研究经验,这句话可跟国内的自吹自擂的用过思科路由器也叫研究经验不一样。老师一直在做网络的Research,读Paper,写Paper。可以说是网络发展的每一步的见证者。所以老师上课的时候基本上不给我们讲“TCP是什么”这样的概念。他把网络中所有的东西都拆解成一个个的小的,稍微有点知识就可解的problem。这些Problem都是当时设计协议或者设计架构的人面对的问题,他会让我们去思考如果你是设计者或者码农,让你写代码解决这样一个问题你怎么解决。比方说你收到包了,你想告诉对方你收到了,怎么个ACK法最科学,你想出来的方案有啥利弊。现在网络上在用的方案当然只是解决方案的一种,这种方案你要知道,但是你还要知道有啥替代方案,这些方案都要解决一个什么问题,问题发生的原因是什么,能不能绕过,避免,替代。这一点很不容易,至少我在国内上了这么多课,包括自己上课,基本都是灌输,听了这个课让我知道什么是“启发式”教学,跟这个比,国内所谓启发式绝对弱爆了。听得我都想回去讲网络课了。不过我觉得在国内不一定会受欢迎,因为国内喜欢参与课程讨论的人不多,很有可能上到最后就变成3-5个人受益,其他人打酱油了。

 

这门课的考试也很恐怖,开卷,考5个小时,从晚上7点到12点,中间可以吃饭,可以喝水,可以听音乐。但是他给的问题开卷不开卷没啥区别。都是要你自己分析,思考的。书上没答案,比方给你一段抓包的结果,让你分析,它为啥要发这个包,或者它为啥要连续发两个包而不是发三个包。或者是你是黑客,攻占了一个路由器,你搞破坏,然后你的破坏能影响到多大范围,还有tunnel翻墙的题目。我五个小时考下来,算是勉强做完。而五个小时考试只占30%,还有一个项目,要写report。香港这边所有的report都要到anti-plagiarism系统里面过一把,如果你有连续多少个字一样,那就完蛋了。不是让你重做那么简单,也不是课程挂掉那么简单,直接就开除学籍遣返大陆了。相比之下,国内的交项目,写论文就过的课程,那基本就是放水。即使抓到抄袭,也无所谓。当然这个跟整个社会的诚信建设有关。不可能只对学生严格而任由社会上不诚信事件肆虐。老师给的四个题目都非常up to date,绝对不象国内一个小画板可以做十年. 一个是谷歌的SPDY项目(chrome已经支持,firefox刚宣布要支持),一个是one way ping,一个是封BT与反封BT,一个是云计算环境下的software switch(XEN Server 6.0刚刚默认集成)。我选的就是这第四个。要你自己搭建云平台XEN Server,然后build一开源的项目叫Open vSwitch到Linux Kernel里面,然后设计实验,验证它的软交换,802.1q VLAN,QoS等各个功能,以及evaluate它的performance。而这一切课堂上都不讲,要你自己学,估计如果在国内布置这样的作业,别说给在职学生,就算给全日制学生,估计业要有人找领导告状,或者要群殴老师了。

 

还有一门是HCI人机交互。这门课我以为是偏文科的课,就是分析什么界面好看什么界面难看。结果上下来,发现也非常吃力,要数学功底很好,定性定量的分析一些问题。还要形式化验证一些问题,估计在国内开,选课的人也会跑光的,就像软院开的数字信号处理什么的课,一旦有数学,就开不下去了。这门课的亮点是课程项目。要我们用他们自己研发的一套传感器网络eToy去开发一个Pervasive的应用。这个项目让我见识了香港在职学生的水平。跟国内的卖证一样的在职研究生绝对不可同日而语。一些学生做的项目非常专业,无论从技术上还是创意上。有一组同学Hack了iPhone 4S上的Siri,然后让Siri可以听懂他们的指令,他们的指令是找狗,甚至控制狗用的。在狗身上绑了Sensor跟喇叭。而iPhone编程什么的都是要自学的。还有一组做了一个帮主盲人导航的帽子。可以探测周围的障碍,然后通过耳机告诉盲人怎么走。课程演示的时候十分欢乐。这门课程的考试也比较恐怖,有30页卷子,就像阅读理解一样,一激动连题目业读不懂。而且题目也非常新颖,包括iPad设计的定量分析什么的。

 

最后的Research Ethics跟国内政治课估计类似,是所有研究生的必修课,讲做研究的伦理道德的。但是跟国内政治课最不一样的是很多结果都是讨论出来的,他不会告诉我们“资本主义必然灭亡,原因是1234条”然后让我们背。而是给我们很多现象,让我们去讨论。我们课堂上还讨论过李开复,国内的山寨文化,国内的暗箱操作等。以及很多剽窃、侵权等等一系列问题,感觉这些东西可能对我而言,就是这三年有用,屠龙之技。回国之后,游戏规则不一样。你不送礼,你就当一辈子兵;你不陪吃陪喝,你就拿不到一些资源;我跟任课老师(一个苏格兰女老师)讨论过如果你知道这件事有违伦理,但是你又不得不去做,就像我上文列的那些,你怎么办。老师说这个时候才体现你的道德情操,就像你捡了个钱包没人发现要不要给警察叔叔一样。我勒个去,在国内那环境下,情操顶个球啊,跟没说一样。我觉得自己本身不是个坏人,只不过做不到出淤泥而不染,并且很想这滩淤泥可以消失。

 

后面还规划了科学研究等等,没时间写了。以后再说吧。说到做研究,那真是一把鼻涕一把眼泪啊。完全可以独立成章了。

 
Tags:
formats

我在哪里

任何一个新名词都不会是凭空跳出来的。就像现在忽悠的响的cloud computing,前几年还叫过grid computing, 还叫过parallel computing,还叫做….。

我在PolyU主要的研究工作么,也可以套用国内现在烂俗的流行牛叉头衔,叫做“车联网”,这个东西还号称是更加烂俗的"物联网"的重要一环。

来PolyU两个月,基本上都在看文献,整理思路,调整状态。也承认自己以前的确落下太多了。读研三年,工作三年,基本上与research是隔绝的。参与、甚至主持的项目倒不少,但是只能叫项目,不能叫科研项目(因为没什么research issue。或许国内科研关注的就是项目吧,只要有钱拿,管你有木有research issue),顶多叫高级码农吧。

今天晚上吃完饭,花了点时间,吧这段时间看文献看到的一些东西稍微整理了一下,至少把一些名词整理了一下。画了一张图,大概能说明我的工作在哪里。当然不一定对,毕竟是刚开始,这个算V1,以后出修正版。如下图,点小图看大图。(有版权哦,谁想拿这张图去忽悠人或者写paper先跟我说一声哦。)

 

 

我的工作呢,大概就在蓝色的方框里。这个词是我自己发明的,叫Wireless Vehicular Sensor Network。就是WSN和车载系统的结合。或者叫WSN在车载环境下的应用(跟导师讨论过,导师说environment是个很奇怪的名字,不要随便用)?

所谓车联网,车联网也不是突然就诞生的。是从无线网络,到Wireless Ad Hoc网,到MANET,到VANET,到加入了sensor的WSN(可以采集车辆状态),再到加入了控制系统的WSAN(可以控制车辆)等,有个发展过程,很多enabling technology成熟了之后,自然而然的结果。

当然,国内现在所谓车联网的企业,基本上都是汽车加个cellular network比如3G,可以上他们的服务器,这个就叫车联网。但是我觉得这跟在车上放个笔记本电脑3G上网没区别,顶多是V2I,不觉得这个有啥革命。或许是认识不同吧。

当然,这张图只是从一个类别上划分,可以有更多维度。以后有空再整理吧。

 
formats

怀念我的爷爷

今日晚间无事,于是早早的洗漱,到Hall里的自习室看书。忽然间,没来由的脑子里冒出一个名称–爷爷。接着我的脑子对我说,你再也见不到这个人了。我抗拒道:只要我回山东去,我就能看见爷爷。脑子说:你再也见不到他了,他去了,去了。我不信:只要我回去,就能看到爷爷坐在门前喝茶晒太阳,一如既往的,一定的,一定的。但是理智让我想起,爷爷真的走了,油灯芯,寿衣,殡仪馆,墓地,这些是我3天前的经历。

2011年的8月27日,竟是天人两相隔的大悲之日。

当前一日接到爸爸的电话,让我难过不能自抑。匆匆赶回山东,爷爷已经在病床上处于弥留之际,也不清楚他是否还有意识知道我回来了。当晚,爷爷便走了。接下来的一切都是程式化,我唯一能做的就是多陪在奶奶跟何事谦身旁。

我最是不孝!最后一次跟爷爷通电话还是我刚来香港之后,爷爷在电话中让我不要惦记家里,家里没什么要操心的。却在这一个半月中忙于学习,未能回来一天半日的服侍病榻上的爷爷。如在这最后一段日子里,爷爷期盼着再见我,却没有能如愿,让爷爷带着遗憾离开人世,若是如此,我如何能安心。

爷爷出生于民国十年(1921年)的农历正月十五。比中共的诞生还要早几个月。今年正好90岁。我的老家是沂蒙山区,当年所谓的穷山沟,三不管地带,所以发展成了革命老区。爷爷20岁的时候就加入中共参加革命。我以前多次问过爷爷为什么当年不参加政府军而要参加反政府武装或者叫反对派,眼光怎么这么准,知道日后坐江山的是这群人?爷爷笑而不语。现在想想,可能我们那里是共统区的原因吧,政府军早就撤退了。情况跟今天的大陆一样,想入党,没得选,不可能跑到宝岛去加入KMT,当年也不可能跑到南京去加入KMT。

爷爷参加了半个抗日战争和完整解放战争。抗日战争时期,电影《地雷战》就是描写山东的共军用土地雷炸鬼子的事情。我爷爷的抗日经历跟电影中描写得也差不多吧。但是这段经历爷爷从来不愿提起,但是我从奶奶和我外婆口里了解到一些。有两点还是要辟谣一下的。现在网上很多人都说共军不抗日,国军抗日。其实当年共军也抗,鬼子打国统区就国军抗,打共统区就共军抗,多少有点保卫家园的意思,只不过共统区地盘太小了。还有就是袁腾飞说的,地雷战用的是火药,不是炸药,踩了地雷之后,顶多听响吓一跳,被火药熏个大黑脸,没杀伤力。其实听奶奶说杀伤力还是有的,鬼子踩雷了撤退了之后他们去看,奶奶说路边的树上挂着很多人体零件……

鬼子来了,占领一个村子根本就不用部队,两个人,开一辆三轮摩托车就可以了。当时的中国农民根本就没见过摩托车,绝大多数人也不知道鬼子是什么。甚至在很多人的心目中,鬼子说话听不懂,多少跟老虎、狮子或者外星人属于一类东西。我外婆90年代了还跟我说,鬼子不是人,他们可以飞檐走壁,说话听不懂,随鬼子(即汉奸)是人,说话可以听懂。外婆跟我说过一次跟鬼子的接触,她在屋子里烧水,一个鬼子翻墙入户。外婆说,坐坐歇歇吧,我给你们烧水,结果鬼子说了一通鸟语,就把家里面一只大公鸡给抓了,然后翻墙走了。她老觉得鬼子抓鸡跟黄鼠狼偷鸡差不多。后来村里面有人喊鬼子来了,大家快跑。然后村里所有人都跑了,也不知道为什么要跑,就携家带口都跑了。多少也体现当时中国人的愚昧吧。

当时的共军根百姓是很难区分,根本没有正式军装。奶奶跟我说鬼子来了,他们就埋地雷,然后就跑,跑到另外一个村里,另外一个村子里鬼子没来。生活和谐,还在吃饺子,他们饿得不行了,跟另外一个村的人要饺子汤喝,居然人家给了满满一碗饺子。吃了饺子以后,又有力气埋地雷了。跟今天美军在伊拉克、阿富汗遇到的路边炸弹差不多,看过一个印象很深的视频,两个伊拉克小朋友在路边完,来了一辆捍马军车,其中一个小朋友一个手榴弹扔到车里,几个美军全挂了。估计当年的中共游击战,情况完全一样,鬼子没准开着摩托车路过,路边土八路本来在谈笑风生,结果突然就扔个手榴弹,炸了就跑,防不胜防。

关于这段历史,我也就知道这么多了。解放后,爷爷向北京天安门广场上的军事革命博物馆捐赠了几颗土地雷,陈列在博物馆里,作为当年我党搞地雷战的证据了。家里面还有捐赠感谢信,可惜不值什么钱。

解放战争的历史,爷爷就更不愿意多说了,毕竟同胞相残。而且沂蒙山区是有名的推小车支援淮海战役的。只记得去年看到一篇天涯帖子,一个临沂人抱怨当地政府强拆。后面有人跟贴:谁让你们当年推小车推得那么起劲,活该。解放军南下后,我爷爷并没有跟着南下渡江,留下来守卫自己的家园了。

建国以后,爷爷凭借站对准确,还当上了村支部书记。可惜当年村干部跟现在的村干部没法比。建国以前卫生条件差,生孩子都是在家里面自己生,我爸爸前面还有两个孩子,都感染夭折了。建国后,爷爷共生了四个孩子,我爸爸是老大。大跃进的时候,爷爷带头把家里面所有的东西都拿出去给公社了,连门上的锁扣都撬下来大炼钢铁去了,接下来三年自然灾害的时候就惨了,听爷爷说,我爸爸差点饿死,多亏邻居给了一碗稻谷。

一直到文革,都还风平浪静。文革的时候,爷爷挺惨,领导干部是红卫兵批斗的主要对象,那才叫官不聊生,比今天的美国还官不聊生。爷爷也不能幸免。经常被贴大字报,开批斗大会,要带上高帽子,站在椅子上,弯腰成90度。据说我爸爸还批斗过我爷爷(这种荒唐事,也只有那10年间才会发生吧)。县里面县长都受不了上吊死了,还给安了一个畏罪自杀的罪名。村里面还有个人当年参加政府军抗日的,抗战胜利后就赴圆了,文革期间直接给当国民党反动派给斗死了。好在爷爷挺过来了,文革之后也平反了。改革开放了,村干部的春天来了,不过爷爷身心疲惫,告老还乡了。

爷爷60岁那年,我出生了。六十年一甲子,我跟爷爷一个属相。小时候只记得我不想上幼儿园,爷爷会推着自行车到我家里来,把我接到他家,跟我堂哥一起,在他家玩一整天,然后晚上再把我送回来。

后来我就按部就班的上小学、上中学,后来到上海上大学,跟爷爷见面的机会更少了。仅仅往家里打打电话。不过爷爷对我去同济大学一直不满,觉得我应该去上海大学。他就知道北京有个北京大学还不错,依此类推,上海的上海大学也应该很好……再后来爷爷的耳朵也背了,电话也听不清了,每次打电话,他虽然听不到我在讲什么,还是会嘱咐我好好工作,做个正直的人。

2008年我成家,爷爷也已经88岁高龄了,他怕去了之后需要别人照顾,耽误事,谁去请也没用,他就是不去参加我的婚礼。但是婚礼仪式当天早上,他还是一个人冒着严寒,骑自行车2公里,到现场附近,默默听完婚里的爆竹声,然后放心、满意的回去了。

一年以后,2009年2月23日凌晨,何事谦诞生,爷爷四世同堂。山东人还是挺封建的,何事谦是我爷爷的长子的长子的长子,属于正统的继承人(当然,其实我跟何事谦都是独生,单传,更加难能可贵)。刚刚100天过后,我就带着他飞回山东,让爷爷看看。后来,何事谦会说话了,按照山东的习惯,应该叫老爷爷,可是何事谦喝鬼子奶粉喝的,跟鬼子一样舌头不打弯,发不出L这个声母,一直叫“咬爷爷“,爷爷听了也挺开心。年轻的时候杀鬼子,自己的曾孙却是被鬼子的奶粉哺育长大的,明治奶粉有近百年的历史,这样算来,当年被爷爷炸上天的那些鬼子,小时候喝的应该也是跟何事谦一样的奶粉吧。多少有些讽刺。

爷爷的最后两年应该还是挺开心的,山东人的老思想,多子多福。从09年到11年这3年里,我的堂妹、表妹、堂哥、加上我,一共生了6个男孩,没有一个女孩。按照ZF的算法,概率是2^6 = 64。六十四分之一的概率,也叫六十四年一遇。有四个爷爷的曾外孙,两个爷爷的曾孙:何事谦两岁半。堂哥家的何事坤,刚好100天。

爷爷走了,何事谦还小,完全不懂是怎么回事。参加我爷爷葬礼,看到孝子贤孙们跪地磕头,估计觉得壮观,不住的喊我拿出手机拍照;带他去我爷爷家里,他还在到处找“咬爷爷”去哪里了。可能在他以后的记忆里,都不会有"咬爷爷"的印象。正像84年我的曾祖父去世的时候,我也刚好两岁半。对于我的曾祖父完全没有印象。历史的轮回在的上演。

爷爷非常的好强,怕给子女添麻烦,90岁了,跟我奶奶两个人依然自己做饭,生活自理。直到我到香港以后,也就是临去世前的两个月,才让儿女照顾。

老一辈吧,爷爷的党性非常强,当然不知道现在说这个词是褒义还是贬义了。97年香港回归的时候,他通宵看电视直播,还说生怕英国鬼子不服气又打起来了,还随时准备着抗地雷,上前线解放香港。当然GCD也还算仗义,给解放前就参加革命的老党员不错的待遇,爷爷去世前每个月有3000多块钱,比给GCD干了一辈子,后来成了下岗职工的我爸爸的退休金还高了。只是不知道现在解放前参加革命的人还有多少。

今天跟家里通电话,知道88岁高龄的奶奶已经接到家里,跟我爸妈还有何事谦一起住了。能够每天看着自己的曾孙茁壮成长,应该也是天伦之乐吧。

写再多,也是要停笔的,生活还要继续。谨以此文纪念我的爷爷。

 
formats

谷歌收购摩托,嵌入式三步走又应验了

今天晚上回来,发现所有新闻都是关于Google收购Motorola移动的。附加各种评论。也谈谈自己的看法。

咱们政治书上总喜欢说一句话,叫做历史的必然。其实这个举动,在我看来也是历史必然。我一直相信嵌入式软件的发展,跟人们生活关系最密切的领域,未来会三步走,第一步是智能手机、第二步是数字电视、第三步是汽车电子。具体表现就是以后手机、电视、汽车的制造厂商都会是软件公司。

想想我们10年前,手机做得比较好的公司都是玩通信出身的公司:诺基亚、爱立信、Motorola、西门子等等。因为那个时候软件不重要,顶多占系统的10%,重要的是通信模块。但现在不一样了,打电话、发消息在手机里面已经沦为服务性的东西了,跟触摸屏、耳机地位差不多了。所以现在手机领域执牛耳的公司,都是软件公司。Apple, Microsoft, Google都是做软件的。iPhone, gPhone, Windows Phone无疑代表手机的大趋势。所以Hello Moto成了Hello 股沟,也就不足为奇了。

第二步就是电视机了。这一步呢,现在只能看出个萌芽,并且在茁壮成长。苹果、谷歌都在做Set Top Box,不过还没有占据重要地位,而微软一直就想控制电视,XBox 360就是其在这一环上的重要产品。所以微软不惜巨资砸xbox。现在也能看到一些Android的电视,还有苹果的Apple TV这样的产品,啥时候第二步成功呢,以后到国美去买电视,没有飞利浦、没有Panasonic,没有Sharp,没有SONY,没有TCL,没有海信。都被软件公司收购了或者萎缩了。只有iTV, gTV和Windows TV。

第三步就更遥远一点了。不过现在也能看出点苗头了。有公司把Android放在车上了,谷歌也在研究自动驾驶了。以后买车的时候,没有Benz,没有BMW,没有Buick,没有Ford,没有Toyota,没有奇瑞,都被软件公司收购了或者萎缩了。只有iCar,gCar, Windows Car。

这是我的预言,写在Harry Potter的Prophecy里,20年以后看看准不准。

———————-YY分隔线——————————

下一步就是房产开发商,苹果收购万科,谷歌收购保利,买房子的时候只有iHome, gHome, Windows Home。

再下一步就是Party,选举的时候没有国民党、民进党了,只有iParty, gParty和Windows Party。

最后世界上就三个国家了,iCountry, gCountry和Windows Country。

程序员以后前途光明阿。

———————–YY增强版—————————

看评论,大家这么喜欢YY,那就把YY发扬光大。iHome/gHome/Windows Home增强版:

以后买房子,房产证上就写的是你的Apple ID/Google ID/Windows Live ID。丈母娘会要求结婚之前,把你的Google ID密码告诉娘家,否则不嫁。

iHome:

选房、交易就在Apple Store,分为iHome和iHome Pro两款,分别占地32平米和64平,售价499万/套,699万/套。

还有一款精装小户型,特点就是层高特别低,墙壁特别薄,号称史上最轻薄的房子,叫做iHome Air。

iHome每年出一期楼盘,每次开盘前对房型、户型等信息都极度保密,引发民间对新一期iHome的各种传言。Steve Jobs会亲自出席楼盘开盘典礼,每一期楼盘都是革命性的。

iHome里面的家具家电只能通过App Store购买,苹果要从家具、家电厂商那里抽走30%的销售收入。不过有黑客发现iHome漏洞,开发HomeBreak程序,可以在家里摆放自制的家具家电。

iHome的配件价格也都不菲,苹果推出一款防盗门叫SmartDoor,特点是房东打开门的时候家里的电灯会自动点亮……

iHome外观非常漂亮,供不应求,炒房团会囤积iHome再高价转卖。住iHome的人都觉得自己倍有面子,坊间传说有人为了买iHome而卖肾…

国内某些房地产开发商发现有利可图,开发出了外观与iHome极为相似的HiHome, CiHome, 金苹果豪庭等小区,房价只有iHome的1/4。

全球所有iHome都由中国建筑队承建,据说承建iHome的民工非常累,经常有人跳楼。

gHome:

谷歌本身不盖房子,只设计房子图纸,然后免费交给著名房地产商万科、金地等盖楼、出售。因此导致不同gHome楼盘平方面积差别很大,从320 x 240到1280 x 800都有。

gHome的图纸更新太快,甚至每年更新3次,使得很多购房者刚买到手房子就旧了,而黑心开发商又不肯根据新图纸改造gHome,导致业主民愤较大。

给gHome生产家电家具很费劲,要在万科、保利的房子里都安装一遍,否则经常导致在某些开发商的楼盘里不能使用。

国内某些开发商的楼盘,其实是从gHome那里拿到图纸,把外墙颜色、窗户玻璃换掉,就号称自主知识产权的楼盘,比较知名的有LeHome, OHome等。更有甚者,请装修队把gHome装修得跟iHome一样…

由于谷歌与xxx关系不好,导致某些gHome里面自带的家具在国内不能用……

Windows Home

微软在苹果公司发布iHome10年以前就开发了Windows House楼盘,都卖了6.5期了,但是后来迫于iHome,gHome压力,盖第7期Windows House花了很长时间,甚至把盖了一半的楼推倒重盖,盖好之后叫Windows Home七期。很多人纳闷怎么同在一个小区里,第七期楼盘跟前面几期风格差距这么大。

有个口号是“住房以业主为本“房地产商曾经非常辉煌,顶峰时期房子墙皮刷个颜色就号称是新设计的楼盘,但是这几年在外界打压下落破了,把宝都压在Windows Home上。

第一批入住Windows Home的人都不得不讲英文,或者用录音机把讲的中文录下来,到Windows Home里面去放…

Windows Home的房型最大特色是所有房间排成一个圆圈,业主只要不断转圈就可以切换不同房间。

Windows Home内饰的第二大特色是墙壁都是正方形色块。号称是创意源自地铁广告牌。

 

能看懂上面所有对iHome / gHome / Windows Home描述的童鞋,我的《移动应用开发》课程可以免修了…..

 
formats

write once, run everywhere! everywhere?

給香港地鐵寫了一週的java代碼,真是受罪。怪不得Java的Desktop編程不行,感覺連MFC都不如,UI上的控件要一點一點用代碼寫出來,人家MFC至少還有個Dialog可以所見即所得的拖拽。而且還沒有AbsoluteLayout,都是相對佈局,累死人了。對於習慣了Android的XML來構造的人來說,簡直是一覺回到解放前啊。

不管怎麽說,還是小有成果的。寫完代碼之後,打成个jar包,要發佈給Customer。發郵件之前好奇,從虛擬機裏面出來,跑到mac下面double click了一下我的程序,除了啟動速度很慢之外,居然還真跑起來了。Chart,Table等復雜控件,Derby database都沒問題。是不是突然感覺java的巨大優勢。

這個就是java一直標榜的run everywhere,當然我們都知道這個不過是廣告語。忽悠不明真相群眾的。以前我在一本C語言教材上,還看到說C語言的優點是移植性好,跨平臺呢。人家是跟匯編比較的。java可以用虛擬機屏蔽一部分OS的差異,但是不能屏蔽所有差異。比方說下面這個UI:

我們的無線傳感器採集到的數據,是通過USB轉串口傳過來的,到Mac上傻眼了吧,木有COM口。要用*nix風格的/dev/ttyUSB*這種了。

順便,上面這個圖上是Java Swing的Bug麽?把COM口的下拉菜單打開,然後拖動一下窗口,下拉菜單沒有消失,也沒有跟著窗口走,居然還停留在原位置,比較不可思議。

 
 
© 何宗键@blog
credit