读完《联想风云》
上次在北京有幸和倪光南院士合影之后,发现自己居然对这么一个大人物还没有什么了解。前几天从曹懿手中借过一本《联想风云》,开始饶有兴致地看起来。
书中描写了联想从创业到如今这个资产数十亿的国际化大公司的发展历程,总结起来呢,我觉得这么书对我最大的启示有两个:
- 一个成功的商业公司不一定要有伟大的发明,却一定要有把伟大的发明变成产品推向市场的能力;
- 科学家眼中完美的作品不一定是被市场认可的产品。

Labels: Notes and Remarks
Legend Since 1984
Cruising between Fantasy and Reality...
上次在北京有幸和倪光南院士合影之后,发现自己居然对这么一个大人物还没有什么了解。前几天从曹懿手中借过一本《联想风云》,开始饶有兴致地看起来。
书中描写了联想从创业到如今这个资产数十亿的国际化大公司的发展历程,总结起来呢,我觉得这么书对我最大的启示有两个:

Labels: Notes and Remarks

MFC: Microsoft Foundation Class,微软公司为方便程序员在Windows平台上用C/C++开发应用程序设计的一套应用程序框架。
有人说现在C/C++已经没落了,在不久的将来终将退化到现在汇编语言(Assembly)的地位,基于C++的MFC自然也不能避免被淘汰的命运。我不否认C++/MFC面对最新的基于动态语言的Web应用显得是多么的力不从心,也不否认大红大紫的Java、Perl、C#等后辈抢夺了MFC无数的风头,但是无论是出于对曾经在Win32历史上扮演过至关重要的角色的颇具神秘色彩的MFC的仰慕,还是出于希望深入理解编程语言与操作系统的交互关系的目的,抑或是为了能更有效的编写Win32应用程序,研究MFC内部运行机理都是必要的。
基于这样的目的,我开始了阅读侯俊杰先生所著的《深入浅出MFC第二版》(英文名Dissecting MFC 2nd)之旅。一个多月断断续续的研读,在合上此书最后一页的时候,竟然也有一种豁然开朗的感觉。以前也看过一本介绍MFC程序设计的书籍,不过多是以例子为主,尽管有能力编写图形界面了,不过却是知其然不知其所以然——对于通过VC向导生成的代码有好多不明所以的地方,所幸MFC的使用者只需要按部就班地修改指定的函数体就行了,其余的交给IDE(Integrated Development Environment 集成开发环境)好了——此所谓第一种层次吧。
不过VC++相比其它的RAD(Rapid Application Development 快速应用程序开发)工具(如VB)却是有着本质的不同。在VC++中,虽然使用者可以同VB一样通过IDE完成大部分的工作,但是VC++并不掩饰反应程序运行机理的代码;而在VB中程序员能看到的只有自己添加的代码。很难说那种方式一定最好吧,毕竟各有各的用户群。VB针对入门级的程序员,以简单快速的开发方式吸引大家上手;VC++则面向系统级的程序员,提供高率的编译代码以及访问底层系统属性的能力。透过VC++暴露给程序员的代码,侯俊杰先生引领读者将MFC的各项重要机制一一“剖膛破肚”。令我大开眼界的是MFC的框架竟然能在编译器不提供RTTI(运行时类型信息)支持的情况下,完成了该框架所必须的RTTI功能。MFC将Macro(宏、巨集)的功能简直发挥到了极致。尽管相较于Java、C#等面向对象领域的后起之秀来说,MFC的宏确实显得有些笨拙和缺乏可读性,但是在当时的环境之下,通过宏来实现却不得不说是一种优雅。
剖析MFC让我领略到一个应用程序框架的结构,能被成为框架而不是仅仅是类库的东西,关键在于类与类之间绝不是简单独立的关系。在框架中,类和类必须通力协作才能完成所需的功能。也就是说,我们在使用框架的时候绝对可以像使用类库一样随心所欲——这是当然的咯,要得到框架的服务,自然要遵循人家的游戏规则。这就是很多习惯了字符环境下编程的C程序员过渡到MFC框架下一时间难以适应的原因。我不是那种在理解了原理之后就忘记当初初试MFC的痛苦经历的人,也许正是通过不断的挫折和积累,让我在阅读《深入浅出MFC》时不断能从以前的实践中找到书中所述要点的印证,不时地得到新的理解和启示,同时也鼓励我继续地把这本书好好的研读下去。
如果必须要为C程序员做一个关于应用程序框架的恰当的比喻的话,我想可以把这个框架理解成main函数中传入命令行参数的机制:为了从命令行中获取信息,你需要定义argc, argv两个参数,OS会自动帮你填入值;同样的道理,为了捕捉鼠标事件、按钮的点击事件并设置相关函数进行处理,你自然不能越MFC的规矩办事咯。希望这个有些简陋的比喻能对挣扎在MFC一线的苦手有所帮助和启示吧。
Labels: Computer Technology, Notes and Remarks
自从购入BlackBerry之后,加之办理了移动的WAP包月业务,对于手机上网的兴趣日渐浓厚。之前搞定了手机上收Gmail的功能,前几天又用手机查询了FedEx快件的状态,信心大增。既然可以收mail查状态,为啥不能看新闻呢?
不过孤立的新闻网总是不能满足我对新闻丰富性的要求,自然联想到PC上大红大紫RSS。要是手机上也能方便的浏览RSS就爽呆了。之前一直在PC上用Google Reader,很快惊喜地发现Google Reader居然有Mobile的版本!在BlackBerry上输入地址,Google特意为Mobile端设计界面映入眼帘,喜出望外啊!
公车上无聊的时候,甚至早上赖床的时候,掏出BB,浏览下最新的时事新闻,或是朋友最新的Blog更新,太惬意啦~~
原来,互联网,不一定要通过PC端接入的。
Google Reader Mobile: http://www.google.com/reader/m/view/, 其实是HTML的页面,普通桌面浏览器也可以访问的。
Labels: BlackBerry
最近听同学说移动公司推出了5元包10M WAP流量的业务。为了能及时上网收电子邮件,决定购入一台能连移动版Gmail的手机。Prison Break的风潮席卷中国大陆,受主角Michael的影响,周围有不少人纷纷购入一种叫BlackBerry(黑莓)的手机。黑莓?以前重来没有听说过啊。渐渐地才知道,这种手机在欧美相当的流行,主要供商务人士使用,有着非常广大的用户群。原本打算过去之后再考虑买手机,但是上网查了一下,发现国内的“14天机”的价格和那边的优惠价差不多,而且我看中的这款7105T价格不到800RMB,可以连GPRS、WAP,有Java虚拟机,支持Outlook同步,可以说是相当超值了!
决定了就立马行动。经过了两天没货的煎熬,终于拿到了爱机。虽说是美国那边的“14天机”,但是外观还是相当的新了,屏幕没有划伤的痕迹,非常理想。
拿到手之后按照网上的步骤进行设置。在设置上网的时候遇到些麻烦。因为这种机器并不允许用户自己对上网方式进行配置,而是由运营商采用Web Push-in的方式将配置信息“推入”手机。但是国内的运营商并不提供对BlackBerry这项业务的支持。另一方面,国内有高手自己制作了配置文件,采用BlackBerry的备份恢复功能还原到手机上。虽然比较麻烦,不过经过刚开始比较痛苦的设置之后用着并没有什么差别。我花了两天的时间终于把BlackBerry的上网设置折腾明白了。现在可以通过其内置的浏览器上网,走的CMWAP方式,目前还没有遇到不能访问的网页。不过美中不足的是,除了内置的浏览器,其他应用程序都不能访问网络,使我挂不成MSN,比较的郁闷。不过呢,基本的功能已经有了,能上Gmail收发邮件我就满足了 :) 另外,BlackBerry的通信录、日历、记事本等等统统都可以和Outlook进行方便的同步。除了可以利用Outlook在电脑中编辑通信录这样方便的功能外,二者还可以互相备份,万无一失。
PS: 日历功能真是很好用,合理的计划自己的日程,不光是对商务人士,对学生也相当高效啊!

Labels: BlackBerry
Applied 14
Labels: 07 Fall Application, Review
从去年11月初考完GRE开始,到前几天正式接受UMN的Offer,终于走完了申请大部分道路。回想这半年的时光,心情谈不上大起大落,也算是跌宕起伏了。
第一个兴奋点来自Columbia的教授对于陶瓷的积极回复。虽然最后未能帮我争取到奖学金,不过也很感激他对我的认真回复。这个过程对于我在以后的套磁中也增加了不少的信心。
再就是UMN教授的电话面试了,某天早上刚起床就接到了事先没有预约的面试电话。感觉当时回答的挺紧张的,毕竟是第一次电话面试。更有趣的由于紧张竟然没有听清楚对方学校的名字,揣摩了很久仍然未果,知道第二次面试才搞清楚。说到第二次面试,更有戏剧性。那天早上正好在北大校园里面等一个同学。突然电话来了,一看是美国的区号便知道是面试了。那时北京市外的温度也就0度上下吧,由于担心室内信号不佳,只能站在外面苦苦撑着。鼻涕都流了好长,自己寒一个先。感觉自己说话的时候鼻涕快流出来的状态是最狼狈的。电话维持了半个小时,最后教授告诉我打算提名我为Fellowship,当时那叫一个兴奋啊,哈哈。还让我提供了最近一段时间研究经历,这个自然不在话下了。
再后来又有UC-Davis的教授面试过。当时感觉还是挺好的。不过后来不知道什么原因没有拿到Assistantship,难道是我告诉他我已经有UMN的Offer他知道我肯定不去UCDavis了?不得而知。现在还在pending中。
春节前在和UMN的教授通信的过程中被告知,就算我没有能评上Fellowship,也有TA的职位。也就是说我肯定能去UMN了——这一点在UMN的网站上也得到了证实。这算是第一个Offer吧,终于可以过个安心年了。过了一段时间UMN CS系的秘书又对我进行了一次面试,这次的目的是考察是否适合Department Assistantship。面试倒是挺顺利,不过我想Fellowship可能没评上了,不然系里面的秘书不会来面试。谁后教授给我的电话中也证实这一点。虽然有点可惜,不过无论如何是可以去UMN的吧。问什么时候能正式拿到Offer,答复是等两周。
春节前意外的收到了Indiana University-Bloomington的电话面试。当时心想都可以去UMN,IUB的面试就比较的放松了。对方问“给你Offer会不会来”的问题时,我居然回答要综合比较,后来才觉得这个回答挺失败的。
安安心心的度过了春节。说到UMN的等,就不是两个星期是事情了。这一等就是一个多月。发信给教授和秘书,答复都是,等,再等等。这个每天就在等待的煎熬中度过啊。每次去实验室收信都特别的期待能收到offer,不过总是败兴而归。曾经一度非常的绝望,是不是被reject了啦,当初不是说得好好的吗?一直等到三月下旬,开题报告的前一个星期六早上,突然收到了IUB的Offer。这种感觉,就像持久的干旱迎来了一阵甘露般畅快。就像一场雨,刚开始看到的时候是稀里哗啦的瓢泼。第一股兴奋劲头过了之后,这场雨转为绵绵细雨,越回味越有滋味,越看越感到欣慰。带着幸福感去北京参加了第二届开源软件大赛的决赛,拿到银奖。在北京的时候又去了趟香山拜卧佛。心诚则灵~
北京回来之后,再次和UMN的教授取得了联系。她后来打电话告诉我了一些Assistantship的细节,同时确定了我回去UMN。没过两天,收到了系里面发来的正式Offer。与UMN的长跑总算结束了。
Columbia的状态一直是pending,我发信给教授,他告诉我我在Waiting List里面,不过我前面有两个人,如果他们都不去我才有机会。考虑了一下,要这两个人都拒掉牛校Columbia几乎是不可能的,所以我也不打算在继续等下去了。
综合考虑了UMN和IUB的各方面条件和研究方向(我回答IUB面试的时候确实是说的真话),没到4/15的期限我便做出了决定,从了UMN。填完相应的表格的第二天,我decline掉了IUB的offer,希望WL里面的人能够有机会。
就此,申请的过程结束了。接下来就是等待UMN的I-20表格准备签证了。Blog再次恢复更新~
Labels: 07 Fall Application, Review