Wesley's profileWesley's blogPhotosBlogLists Tools Help
    August 21

    Eat dessert first [转]

    最早看到Life is unpredictable, eat dessert first那句话记得是一个巧克力或者甜点的广告。印象很深刻,就记住了。今天看到猩猩飞过龙卷风后写的这篇,就引用一下。别人读PhD的都忙着写dissertation,这丫貌似一直在eat dessert...

    Quote

    work like you don’t need the money, love like you have never been hurt, and dance like no one’s watc

    life is the drop of water i'm drinking now, is the blue sky and white clouds i saw when im slacking off, is the ppl who might give me a smile tomorrow

    happiness is by no means related to me,
    altho sadness can not prevent me from appreciating all the beautiful things and kindness around....
    everything will perish sooner or later, 
    so life is short.... eat dessert first....:P


    zz from 塔塔


    Happiness is a journey

    比较后知后觉,看了金三顺很久,今天才看到片尾这段话的英文全文。还不错。


    "Happiness Is A Journey
    -----By Father Alfred D'Souza
    For a long time it seemed to me that life was about to begin , real life. But, there was always some obstacle in the way, something to be gotten through first, some unfinished business, time still to be served or a debt to be paid. Then life would begin.
    At last it dawned on me that there is no way to happiness. Happiness is the way. 
    So treasure every moment that you have and treasure it more because you share it with someone special, someone special enough to spend your time with.
    Make the most of your time. Don’t waste too much of your time studying, working, or stressing about something that seems important. 
    Do what you want to do to be happy but also do what you can to make the people you care about happy. 
    Remember that time waits for no one. 
    So stop waiting until you take your last test, until you finish school, until you go back to school, until you have the perfect body, the perfect car, or whatever other perfect thing you desire.
    Stop waiting until the weekend, when you can party or let loose, until summer, spring, fall or winter, until you find the right person and get married, until you die, until your born again, to decide that there is no better time than right now to be happy.
    Happiness is a journey, not a destination. So work like you don’t need the money, love like you have never been hurt, and dance like no one’s watching."
    August 20

    魅族M8使用感受

    最近需要一个基于Windows Mobile的手机做试验平台,就买了个魅族M8,支持一下国货 :)

    这个手机总的来说还可以,我还算喜欢。我也有iPhone,就忍不住对比了一下。不得不说,细节上差距还很大。可能国内好的软件设计师还是少吧。M8的硬件大体上不比iPhone差(不过没有3G和GPS),屏幕可能还好一些(分辨率高),但软件的usability比iPhone差了不止一点两点。总体感受是,iPhone是一个达到release quality的的产品,而M8目前看起来还只是beta quality,甚至是alpha quality,或者可能都还没feature complete。

    首先是稳定性。M8有时候会睡死。就是处于休眠状态(或者说待机状态)然后就发现怎么都醒不过来了。发现这个问题是因为买来的第1天我用它定了个闹钟,结果第二天就睡过头了,闹钟没响,然后就发现其实根本是黑屏了,按啥键都没反应,连开机关机键都没反应,只能把电池拿出来装回去重新开机。后来Google了一下发现这个问题不止我一个人碰到。这个问题是软件的bug,说大也不大,尤其是如果主要用来做测试用机的话。毕竟也不会太频繁睡死。但若说是小问题呢,那也不小。等于说闹铃功能就不可靠了,因为定了闹钟也不一定会响嘛。甚至可以说电话功能都不可靠了,因为如果睡死了放在口袋里没注意那电话也接不到的。那么基本上等于说这个手机就没法做比较严肃的用途了(比如商务手机),你不想因为手机的bug没接到电话而错失大生意吧?但愿下个版本的固件可以修正这个问题。

    值得一提的是,Google了一下据说这是Windows Mobile手机的通病(别的品牌的Windows Mobile手机睡死几率会小一些)。好吧,难怪商务手机大家还偏爱Blackberry。微软还任重道远。

    然后,一些操作的方便程度比iPhone也差很多。比如要删条短信大概得按4次键。比如便签程序那跟iPhone自带的不是一个档次的。比如没有自带的笔画输入法(M8还国产手机呢... 在美国买的iPhone都带很好用的中文笔画输入法的,苹果还是个美国公司呢)。另外还有很多地方我都觉得设计有些没必要的复杂化和不直观。

    我举个闹钟功能的例子吧。猜猜我要设个单次闹铃得按几个键?答案是——不包括设置时间的操作,也得按至少10个键。首先,要添加闹钟…… 呃这个我对着屏幕琢磨了半天才知道怎么添加,原来要先点击某个藏在不起眼的角落(右上角)的“设置”图标,然后把手指移动一个最远的距离(到左下角),点击“添加”,然后还要按“循环”,然后... 我要按7次分别把周一到周日点掉!!! 这是哪个天才设计的呀!!! 另外,iPhone可以用手指滑动一个滚轮来选时间,但M8不可以,必须手输数字。

    另外,可能是基于Windows Mobile的缘故吧,某些操作的响应速度也比iPhone差一些。有时候会某个图像显示了一半卡在那边半天,结果就是屏幕看起来怪怪的,很有熟悉的Windows的感觉。

    然后,浏览器是个硬伤。Opera比Safari差不少。Safari是基于open source的WebKit内核的。开发一个可以用在M8上的WebKit内核的浏览器技术上并不难,不知道有没有人做。

    然后,M8的WiFi功能不支持连接用证书方式加密的无线网络,只能输密码。这个,呃,企业网络大多数是用证书方式加密的吧,根本没有密码可以输。莫非M8彻底的放弃了商务手机市场。其实只是个很小的功能,但缺少这个功能,在很多时候就跟根本没有WiFi功能一样。没WiFi倒也不要紧,如果有3G的话。可惜这个手机不支持3G。这里不得不赞一下iPhone,啥功能都是拿出来就能用,不学就会用。我一度担心iPhone的WiFi在用证书方式加密的无线网络也会出问题,因为那个用证书的加密网络连接其实用Windows笔记本电脑都配置起来蛮麻烦的。出乎我意料的是iPhone几乎做到了零配置上网,非常impressive。

    当然,说了这么多还是因为觉得M8有希望。所有这些问题都是软件问题,都可以以比较小的effort改进,出个新版固件刷一下机就可以了。等这些问题解决之后,M8还是很不错的。
    August 15

    物业税这个事

    面对经济危机,各个国家都在做同一个事情:大幅度增加政府开支,刺激经济。

    美国财政赤字已经很夸张了,所以做这种进一步增加开支的事情是有点放不开手脚的。不过中国不一样。如果我没记错的话,好像去年还是前年中国是有财政盈余的。所以,中国政府刺激经济的力度大概是全世界最大的(可能总开支没美国大,不过把开支除以经济总量再除以期限的话那就大了)。

    那么,接下来必然会面对的一个问题就是,多花了的这些钱,在将来是要还的,从哪儿弄钱来还呢?

    我设想了几种可能性。

    一个是开动印钞机印。这个事情美国基本上一定会做(因为没有别的选择),中国做不做我不知道,我猜也会做的。

    一个是加税。不过通常来说经济危机了很多人失业了政府应该减税才对吧,不然的话是会农民暴动的。奥巴马政府貌似在做减税的事情。包括在他之前我有收到过Stimulus Check大概也可以算减税吧。中国嘛我不知道,不过我猜至少不会在目前已经征收的税种上提高税率。

    一个是提高土地出让金。这个事情美国是做不来的,美国土地早就都私有了,政府手里没啥地,谈不上出让土地赚钱。不过中国能做。中国政府的一大重要收入来源就是土地出让金。好像最近又有一些地王的新闻了。大概是政府刺激经济的开支太多,缺钱了,就通过高价转让土地给央企的方式来解决财政缺口。反正央企也是国家的嘛,左口袋的钱拿出来放右口袋里而已。(不用争论什么土地出让金收益归地方政府不归中央什么的,刺激经济要出的那些钱是地方政府也有份的。)为什么是央企?因为土地是拍卖形式出让的,不是你想提高出让金就能提上去的,得有人接才行。所以你看国难当头的时候民企靠不住啊还是央企觉悟高啊能帮忙扛啊... (这个想法听起来很邪恶...)

    不过以上这些做法大概都不太得民心。我能想到的最好做法是增加一个人民群众呼唤并拥戴的新的税种。目前看起来嘛在中国也就物业税了。这个事情美国没法做,美国早就开征物业税了,事实上能想到的收税的全都收了。不过中国能做,而且貌似很多人还指望物业税能打压房价呢,所以大概开征这个税至少在人民群众中间是没啥阻力的。而且这个税肯定会给政府带来很多收入。这个看看美国就知道了,美国政府没有土地出让收入,所以物业税收入基本上是政府收入的一大支柱。所以我觉得就目前的中国政府开支情况,这个税一定是会大干快上赶紧开征的。

    所以,我觉得吧,除非政府机构办事效率实在太低,不然的话到2010年沿海发达地区部分试点城市的人民应该会开始需要交这个税了。至于这个税会对房地产市场造成什么影响,我就不评论了,同学们去复习经济学教材吧。我只说一个大概比较没争议的判断:租金会涨。(提示:租房是个比较刚性的需求。)

    ============Update==============
    好吧更正一下加税这个事情美国明显是在做的,目前也没见农民暴动。比如加州的消费税早就从8.25%增加到9.25%了(好像州内各个地区还不一样,有的地方是9.75%)。我大概回国时间长了就把这个忘了。等我明天春天准备2009的税表的时候说不定会发现个人所得税也加了的,不过现在还没啥感觉。
    August 10

    The Pursuit of Happyness

    这是部2006年的老电影,基于真实故事改编。好几位同学推荐,就看了。

    【下文有剧透,慎入】

    剧情没啥悬念,tooooooooooooo oooooooold了,看男主角被生活虐得惨得不行就知道这丫一定会触底猛烈反弹的,荔枝片不都这样吗——如果把这部片子当作荔枝片来看的话。

    反弹的原因也没啥新意。这哥们脑子还是好使的(魔方很快就能拼出来,而且逮着机会拼给hiring manager看了),所以其实是油菜花的;然后还不知怎的就被一有钱人当作朋友了,带他去看了场球赛于是认识了更多有钱人,于是生意就好做了,也就有业绩了。那第一个有钱人可以看作是机遇吧。油菜花+鲫鱼=成功,听起来tooooooooooo old了。

    至于他后来开那个金融公司为啥成功,电影没交代(当然估计交代了也逃不出上面2个理由),似乎后来的成功理所当然的。就像他最开始做channel distributor去推销医疗器械为啥失败电影也只一笔带过,就像一开始的失败是理所当然的——虽然医疗器械销售其实是个很有前途的职业大概坚持下去换个好点的产品推销结果也未必比金融业差。

    感情刻画(比如父子之间)和细节啥的还是蛮到位的,这是部细腻的片子。相比之下一些国产片虽然号称砸了多少钱但其实粗糙得不行,看完就啥都忘记。这部片子我记住了不少细节呢,比如这个:Knock knock. Who? Nobody. Nobody who?

    至于啥是happiness,如何追寻happiness,导演并没有给出一个可以重塑我快乐观的诠释。这个意思并不是说没有诠释而是说那些诠释要么缺乏新意要么缺乏说服力。

    怪不得,导演很免责很山寨地在标题里写了个happYness呢 :)
    August 04

    在家Ctrl-C,到公司Ctrl-V是不可以的?

    这是一个最近的笑话。具体内容有点记不清,大致就是女秘书对老板说,在家Ctrl-C到公司Ctrl-V是不可以的。

    不过我想先从另一个故事讲起。话说我前一篇blog写X301和Vista一起用时会有休眠问题。小谈同学善意地提醒我,是不是一休眠就把笔记本合上了,这是不可以的(听着怎么这么耳熟呢...)

    其实我并没有一休眠就把笔记本合上。不过,我有时候就忍不住想,凭什么不可以啊。这个操作简直最正常不过了嘛。休眠就说明准备暂时有一段时间不用本本,那就很可能要把本本放包里带走,那当然是要合上的~~~ 如果操作系统不支持,那是操作系统设计得傻,不是用户傻。从技术的角度,Hibernate和合上笔记本都是产生一个事件通知操作系统用户做了什么事情。比较正常的操作系统都会按照事件发生的先后顺序得到通知。稍稍聪明点的操作系统完全可以做成在已经收到Hibernate请求之后就忽略不计后面的Sleep请求。

    回到Ctrl-C Ctrl-V的故事,我觉得那个老板有这样的需求也很正常嘛。我们为什么不是想办法实现这个功能,而要嘲笑老板想做电脑做不到的事情呢?

    讲2个从Ctrl-C Ctrl-V引申出来的故事吧:

    (1) 你在网吧打游戏正爽。忽然来了一群戴着墨镜纹着刺青叼着雪茄的大汉,说,不好意思,一楼我们包场了,你到楼上接着玩吧。

    (2) 你在银行或者企业管服务器,哪天你想给服务器换个更快的CPU再多插几根内存多加几个硬盘顺便给操作系统打些补丁(某些操作系统打完补丁必须重启),于是你不得不发出个例行通知:本银行明天下午系统维护,华东地区各分行业务暂停,信用卡交易也暂停;本公司邮件服务器维护,届时各位同事将有3小时时间无法收发邮件。

    (1)和(2)所需要的solution,其实本质上就是在机器甲Ctrl-C,到机器乙Ctrl-V。学名叫做“一组应用程序及其状态和数据在不同电脑间的热迁移”。

    有人会说了,这个OS virtualization也可以做到。你在机器甲上面运行一个VMware的image。然后suspend,拷贝到机器乙,resume,就行了。

    这当然是没错。不过OS virtualization有3个小问题和1个大问题。
    先说小问题
    (1) 性能。你试试在VMware里面运行3D游戏看呢。
    (2) 尺寸。VMware的image通常都是GB数量级的。几十G很正常。几百G不稀奇。你试试看在网吧楼下对那一群大汉说,等等,我正在把这个50G的文件拷贝到移动硬盘上,大概再有半小时就拷完了。你们先在旁边歇一会儿。
    (3) 对异构硬件以及Windows支持得不好。你试试看在ThinkPad上运行VMware的Windows image然后拷贝到Dell的机器上呢,Windows多半会提示需要重新激活,因为硬件已改变。事实上微软大概会说,你是在2台机器上运行Windows了,你需要买2个license。
    再来说大问题。
    (4) 上面的服务器例子有提到,你可能会因为要给机器甲加硬件,给机器甲上装的操作系统打补丁,但又不想中断应用程序的运行,而暂时把一组应用程序迁移到机器乙。如果你用OS virtualization的方案,那么加硬件这个事情可以做了,但给操作系统打补丁这个事情依然办不到,因为操作系统跟着应用程序一起迁移到机器乙了。

    有人又说了,好吧,OS virtualization搞不定嘛还有application virtualization技术啊。

    Application virtualization技术其实有2个流派,

    第一个流派的本质其实就是包装一个application的免安装版本,在电脑乙上重新运行这个application。可以把这个application的数据输出重定向到网络文件服务器。这个流派其实只做到application的迁移,数据的迁移也算做到了(数据其实是集中储存的),但做不到状态的同步迁移,也就是说算不上“热迁移”。换句话说如果你在网吧玩的游戏不带存盘功能,那么你没法跑到楼上接着玩。

    第二个流派的本质是在一台中央服务器上运行application,另一台机器其实只是远程桌面到中央服务器。这个给人的感觉是热迁移(用网吧的那个例子,通俗的说,游戏依然在楼下的电脑上跑,不过你把显示器扛到楼上去了),但这只是给人了热迁移的感觉,其实根本就没迁移。你依然不能给楼下的电脑加硬件给操作系统打补丁。而且你极度依赖网络,电脑乙和甲必须始终联网。而且电脑甲始终被占用着。那些大汉会发现,靠,怎么一楼的电脑那么慢啊(你正在偷偷地用楼下电脑打游戏呢,当然慢了),重启一下吧。于是你的游戏就没了。

    有没有第3种解决方案,真正地把一个运行中的应用程序连带它的数据和状态迁移到另一台电脑上去呢?

    其实写过程序的同学大概都有过这样的经历:你的客户或者负责测试你的产品的同学告诉你,你的程序在他们的机器上crash了。你想在自己的机器上重现问题,怎么办呢?你大概会要求你的客户或者QA把core dump文件给你。

    没错,在电脑甲上运行的程序产生了一个core dump,你把core dump拷贝到电脑乙,然后gdb这个core dump,你是可以按r继续运行这个程序的。这是一点都不掺水的真正意义上的程序跨机器迁移。

    如果你曾经在做信息安全的公司工作过,你大概还了解这样一个技术:一个程序,你不知道他是好人还是坏人。那么可以把他放在一个隔离的环境中执行。当你发现他开始做坏事的时候可以把这个程序给“冻住”,把他刚刚做过的事情复原。基本上,这个技术虽然是用来对付坏人的,但用来给好人搬家也没啥问题。

    当然,这个技术思路,只能说迁移了单个程序。即便如此也已经很困难了,因为大概会遇到不少兼容性问题。另外你还需要知道这个程序依赖于其他哪些程序,会访问哪些数据,都有哪些东东共同组成一个软件系统,怎么把整个软件系统迁移过去(这个会依赖上面第一个流派的成果)。这个基本上做起来还是有很大难度的,很容易走入死胡同。(不死心的同学可以继续尝试,可能需要license一两个专利 ^_^ )

    事实上不管你是哪个流派,靠application virtualization技术是无法在所有情况下都做到应用程序的状态的热迁移的。一个很简单的例子是你的application建了几个TCP连接,那么我们都知道TCP连接是在OS kernel里面的协议栈维护的,你只迁移application而不迁移OS kernel是无法做到把这几个TCP连接带走的。当然,技术上的不完备和商业上的成功与否基本是没有关系的。就像我们都知道医院不能包治百病,但如果100个病能治好99个,或者哪怕只能治好50个,那么这个医院就已经很有存在的价值了。

    其实还有第4种做法。第4种做法因为思路迥异(所谓think out of the box),做的事情也比较到位,我就不再将其归入application virtualization了,而称之为workset virtualization。这个以后有空再说。

    Anyway,我的point是,大概要不了多久,在家Ctrl-C到公司Ctrl-V就toooooooooooooooo old了会变得不好笑了。
    August 02

    ThinkPad X301的一些优缺点

    [以下内容由testfreaks.cn独家赞助,赞助商对本文观点不施加影响。]

    最近跳槽的同学挺多,他们到了新公司后通常都要买个新的笔记本电脑,那些公司往往只让在ThinkPad中选一款(不然的话我就推荐苹果笔记本了)。大概因为我几天前贴了张小黑三代同堂的照片 http://wesleybao.spaces.live.com/blog/cns!B8C72620C46CF4CA!6748.entry 有眼尖的同学认出了最上面那台是ThinkPad X301,他们正好也在考虑买这个,买之前就先问问我使用感受如何。回答了几次类似的问询后,为了避免以后重复回答同类问题的麻烦(当然更主要原因是有人付钱让我写评论),我就在这里列一下这个小小黑的优缺点。大家可以主要看缺点部分,因为优点部分基本上Lenovo自己的广告以及其他笔记本测评网站都会列出来。

    优点:轻,薄,安静(不仅没有风扇的声音,我的X301因为用SSD,连硬盘噪音都没有),不会发烫,电池续航时间算比较长的。接口嘛,至少比MacBook Air多吧。另外,有小红帽也算优点吧。对于用惯的人来说,宁可用小红帽也不用鼠标的,更不用说触摸板了。(可见培养用户习惯多么重要。用惯小红帽的用户买笔记本几乎就不会考虑ThinkPad以外的。)—— 虽然X301的触摸板是Multi-touch的。

    电池续航时间我具体说一下,我的X301除了标配电池,另外还有块bay battery。2块电池电量加起来勉勉强强够工作一天,也够在从中国飞到美国的航班上看几篇论文写几个PPT。当然,这么说是基于如下假设:一天只工作8小时,并且其中会有一两个小时的休息时间合上笔记本去吃顿午饭喝杯咖啡打个小盹啥的。在飞机上(飞行时间超过10小时)也会有大约3次用餐时间是把电脑合上的。起飞和降落的时候也不用电脑。

    另外值得指出的是,ThinkPad的3芯电池(包括bay battery)用的是Li-Polymer技术。这个技术比较新,优点是电池重量轻,重复充电次数多,而且充电量大。MacBook Pro和Air(金属整体成型电池不可拆卸的那些型号)都是用的这个电池技术。ThinkPad的6芯电池则依然用的是旧的普通锂电池的技术。

    X301的缺点也很明显:

    (1) 显示屏面板不是S-IPS的,甚至不是S-PVA,而是最便宜的TN。这并不是技术问题。因为T43p和T60p就是S-IPS屏(Lenovo称作FlexView)。苹果的MacBook Air和MacBook Pro全系列都用S-IPS屏。S-IPS屏幕照样可以做得很薄。Lenovo选用TN屏大概纯粹是出于成本考虑。我对此相当遗憾,X301应该是小黑中的高端型号,不应该省这几个钱。
    当然这个问题你在家和在办公室时都可以避免,外接个大屏幕的S-IPS显示器就行了。X301有DisplayPort接口的。

    (2) 集成显卡是4500MHD,不是9400M。苹果的集成显卡笔记本全都用9400M。9400M的图形性能号称是4500MHD的5倍。

    (3) 因为很薄,而且下面大概架空几毫米(为了方便散热),你敲键盘的时候会有在薄板上敲击的感觉,击键会感觉不踏实,空落落的。所以这个小小黑不适合编程和写作之类的需要大量使用键盘的工作。当然你也可以下面垫些东西来解决这个问题,不过散热就麻烦了... 当然这个问题在家和在办公室的时候也好办,外接个键盘也就OK了。话又说回来,小黑的键盘手感跟其他厂商的笔记本比还是算很好的。

    另外,预装Vista的X301有个额外的缺点(或者说bug):进入hibernation后(注意是hibernation,不是sleep),电池照样会耗尽。这是和Vista的兼容问题,不是电池本身质量问题,因为如果关机而不是休眠的话,电池电量就不会下降了。我的其他预装XP的小黑没这个问题。我有试过把wake up on LAN等等都disable掉,依然会在休眠时把电池耗尽。所以我对Vista那是相当相当的反感(以前还遇到过Vista的其他问题比如拷贝文件出问题以及永不停止地读写硬盘等等)。如果你要买预装Windows的小黑,要么等Windows 7,要么降级回XP吧,或者自己回去重装Linux或者Mac OS X(我曾经尝试过在ThinkPad上装Mac OS X 10.5,一点问题都没有,连小红帽都可以正常用)。

    另外的另外,X301是有指纹识别器的。不过不知道是不是对土星人的指纹支持不好,反正我在几十次失败的尝试后放弃了让X301记住我的指纹的努力。

    总结:如果你跟我一样到处跑(就这2个月我火车票不下20张,机票也有近10张)那么X301还是个不错的选择啦。当然鉴于它的一些缺点,建议在家使用时要加上外置键盘,外置显示器和外置储存阵列/NAS。这样就不会牺牲眼睛和手的舒适程度了。比起台式机的额外好处是可以让耳朵更舒服——X301真的很安静。还有个好处是不用担心停电会丢失数据了。

    如果你对便携性要求略低一点,也可以考虑一下T400s。(这个是最近才发布的,基本是X301的外壳略微放大点配上T400的内在,比X301略为便宜一些。)