Jeffrey Zhao's profileJeffrey's Own BoxPhotosBlogListsMore Tools Help

Blog


    August 10

    Still Long Way to Go...

    据说只有Certificated Gadgets才能在Spaces上使用set/getPreference?
     
    如果是这样,那么如何让gadget在不同的space上显示不同的样式?
     
    如果是这样,gadget功能在spaces里只是一个玩具,有什么使用价值?
     
    如果是这样,我前几天花的精力有什么作用?
     
    相当的失望,但愿它能改进。
     
    在“p_args.module.getMode() == Web.Gadget.Mode.author”时一定要能够使用set/getPreference.
     
    另外,我发现Custom Gadgets的Container在FireFox中显示有一些问题:作为Container的iframe会自动出现横竖的滚动条。更令人感到意外的是,这个滚动条甚至于完全不需要。这让人不得不觉得Gadgets在FireFox里还有待提高,还不像Windows Live一样成熟。
     
    还是拭目以待。
     

     
    写了封信去问,没想到不到2分钟就收到了回复:
    Yeah, we’re working on it, Jeffrey.    It’s complicated but we agree that the best gadgets can save preferences.   In the meantime, you should have the gadgets communicate back with your own servers to save preferences to work around this and ship cool gadgets people will love in Spaces.
     
    看了一下,原来还是Lead Program Manager。他们那里大概是晚上8点半吧,至少这个工作态度还是值得肯定的……
    不过他说的我都知道,还是没有解决我的问题。
    Sigh,我哪里来的Server呢?有了Server需要做一个类似目前set/getPreference的功能也是非常麻烦的。
    但愿这个功能可以早日实现。
    August 04

    收到了Windows Live Mail Desktop Beta的邀请

      不大,安装文件10.1M。
     
      其实可以认作一个简易的Live Maill客户端吧,再加上RSS订阅和一些小功能,比如和Space的集成,可以轻易的将一封邮件Post在Blog上,虽然其实我觉得用处不是很大。
     
      使用下来我觉得这个Beta版本还有些缺陷,比如最常用的Sync功能。客户端,浏览器和服务器的同步功能似乎还有些缺陷。另外,缺少了很多提示,很多功能不是很直观(比如菜单里一个图标也没有),让人感觉在UX上还有比较大的提高空间。可能毕竟是Beta吧,呵呵。
     
      总的下来还是比较方便,毕竟是C/S,有自己的优势,可以进一步观望。
     
      像当年我一度痴迷于使用客户端收邮件,但是慢慢地发现,由于客户端不能“随处都有”,也就慢慢的向Web方式访问Email服务倾斜,最终成为了另一方向的“偏执”,非Web不用。
     
      当然,最后由于遇见了Exchange Server + Outlook 2003的近乎完美的组合,让后对于客户端又有了相当好感。不过说实话,如果不是Outlook 2003 + Exchange Server不仅仅是Email服务,如果不是有个同样出色的Exchange Server OWA的存在,可能我还在徘徊。诚然,目前的Live Mail和Exchange Server OWA还有比较大的差距,不管是Windows Live Mail Desktop客户端,还是给予Web的访问,虽然都是OWA。顺便插一句,在很多年前的OWA中微软就使用了XMLHttpRequest,可惜,为什么就没有推广呢?
     
      这就是免费服务和卖钱的产品的区别吗?谁知道呢……
    July 29

    最近其实感觉不太舒服

      工作压力大?不清楚,不过每天都比较累。不是体力不够用,也不是脑力不够用,只是打不起精神来。不是懒洋洋,只是似乎兴致不高。我需要长进。
     
      如果要我自己说,估计原因很简单,就是看书少了。每天做事,回寝室也要处理别的事情,少了精神食粮,这精神如何能好得起来。由于时间少,看书只能零零碎碎的,很少有大量时间进行大量钻研。各中感受,岂一个苦字了得。
     
      说得夸张点,每天睡觉都做梦,觉得自己落后了太多,离目标越来越远。
     
      早知道暑假就不管太多了,现在周末也难以看书。
     
      先不说看书罢,我已经很久没有睡过一个懒觉了。
    July 18

    对于Windows Live的产品越来越有期望

    今天以上Live Mail就发现速度比以前快了不少,Load错误也没有了,实在令人感到惊叹。
     
    按照安排的话再过十天Windows Live Spaces也要Release了,在单位看了看目前的状况,实在让人感到非常的欣喜。
     
    当然,接下来就是我的Expo了。
     
    微软的产品可能不代表最高技术,不代表最早技术。
     
    但是绝对是市场上最优秀的产品之一。
     
    之一?我想去掉这两个字……
    July 16

    如果要全面指导别人,必须先全面提升自己

      首先承认,很显然这是一句废话。这里说一下只是现在深有感受了。
     
      最近在为学院的项目组作培养下一代接班人的工作。出于身感上几届组内成员实力的递减和浮夸的增加,我在月前主动挑下了这个老师本没有期望的工作。老师后来告诉我,本来就想请我帮忙,却又感觉我不太会答应这个吃力不讨好的事情。当时我着实受宠若惊了一把。
     
      看来我和老大一样,在某些方面还是很理想化。
     
      项目要做就做好,这个是我一贯的想法。哎,然后下班后,包括周末。由于我被任命为了我不太喜欢的所谓“PM”职位,立马从一个非常不了解项目状况的人成为了项目的负责人。
     
      其实要我真正做一个PM,我并不喜欢。我原本的目的是做一些Training,成为一个Technical Lead之类的职位,呵呵。我喜欢作为一个技术人员的感觉。
     
      不过既然只有我一个人总揽技术事宜……就不得不为自己的一举一动负责了。原本认为能够脱口而出的部分也要三思而后行。不很熟悉肯定的地方则更需要加把劲了。
     
      ASP.NET2.0 + SQL Server 2005 + Visual Studio 2005 Team System。
     
      反正可以说是涉及项目的大部分东西都要我熟悉起来了。Unit Test是小意思,毕竟以前用NUnit。既然用VSTS,Team Foudation Server当然也要架起。Team Site总是要的,我们就来玩Sharepoint吧。嗯要做Site的BVT,Web Test需要搞。还有Code Coverage等等……对了还是先把SQL Server 2005的新功能特性要搞搞熟吧?嗯……
     
      说实话蛮累的,不过真的做好以后我也算尝试了n多东西了吧?
    June 28

    编程技术?编程思维?

      前天为暑期的MSE项目进行了面试,面试对象是05级学生。来面试的基本上都是05级学生中的佼佼者。只是结果有点让我失望,可能我对“佼佼者”的概念寄许太高。
     
      我在面试时,针对他们使用的Java,统统问了一个最基本的问题。这是一个关于Java事件机制的问题。就拿最基本的编程来说,好比参照API写程序,他们能做到,但是他们始终只是停留在从API角度进行学习,而没有想到API背后的东西。
     
      他们会写如果要使用一个Event,需要先写一个类实现了XXXListener接口,再把这个类的对象通过addXXXListener方法注册给触发事件的类。等到某些时候事件就被触发,等等。但是在我问起,你能否尝试着写一个类,放出一个事件呢?
     
      一无所知,而且很多回答表现了他们对于事件机制的误解。有人以为事件是一个类,有人认为事件是一个函数的“实例”。在我苦苦提示下,对方还是没有回答出,甚至没有沾上一点边。
     
      最后我对他们说,我就是想考察一下大家在使用一个方法时,有没有能力去想象一下,比如根据用法猜测一下其实现方式呢?我不是鼓励大家写程序时build from scratch,但是类库往往是集许多大师思维的精华而成,它们的实现是我们学无止境的目标。在我看来,我会努力去学习他们是如何做出这种设计的,但是这可能要求太高。所以就把眼光放在了他们的实现方式上。
     
      这个已经是程序员的基础技能了,不是吗?这个应该也就是一个程序员和一个IT民工之间的区别了,不是吗?
     
      其实上面这题的答案非常简单,就如大家在使用某个事件时会使用到XXXListener接口和addXXXListener方法一样。先创建一个接口叫做XXXListener,里面有个响应事件的方法。再为你要放出事件的类写一个addXXXListener方法,在方法内部保留每次注册进来的Listener,然后再合适的时候调用响应事件的方法,不就可以了吗?
     
      在事件机制上,我认为Java在设计的角度更为“纯粹”,只是简单的接口和类的实现。而.NET的实现考虑了许多,的确更强,但是如果考察.NET Framework的事件,考察的就太过于.NET里CLR的实现。而我更希望考察设计。就像Java里的设计。Java的“纯粹”是我赞不绝口的。
     
      有人似乎问过我为什么会想到在面试里问这个,我当时说了我希望考察的技能。其实还有一个原因。
     
      因为我当年和他们一样希望参与项目,面试时被问过这个问题。我能回答。
     
      可能思维方向正确吧,自诩一下……
    June 26

    总算又好好的动手写程序了

      我喜欢写程序的工作,因为这是中创造性地工作,即时别人也做过此事,但是由于是你自己创造的,会有你自己的思维,我喜欢。
     
      终于又“狠狠地”写了一把程序,从第一天晚上开始看协议,第二天凌晨1点开始动手,到晚上的11点,除了其中睡了2个多小时,就几乎没有离开过座位。也不敢吃饭,怕分散经历,怕困。
     
      虽然一直而来都在写程序,每天晚上的看书,研究或编写一段几乎养成了习惯,但是这样连续地完整地完成一个作品已经很久没有过,忽然有了这么一个冲动,于是就去做。
     
      其实这是一个课程的Project,实现一个使用SSL的完整的Kerberos协议。总的来说不难,读清楚协议,剩下来的也就是个略为繁琐的实现罢了,但是同学们还是做的苦闷。我对自己的编程能力比较有信心,一时冲动就打算了一个人挑战这个玩意儿。
     
      最终没有让别人失望,作品的质量经过简单测试没有发现什么问题,看来多年磨练下来的编程基础是我的一笔财富吧。
     
      不知再过一段时间,我还有没有这个心情和时间来“为自己”写程序,以后的时间可能大都为了公司吧。哎,可能我想做些技术作家,也是因为自己能有自己的作品。
     
      看书,学程序,如果两者只能选其一,那么选哪个比较好呢?
     
    June 23

    忽然很想做一个技术作家或者独立咨询师

    Wow,可能这样更加符合我本人的风格。
     
    June 19

    面试心态:“我就是吹牛,你拿我怎么样?”

      再来一个说法:“混是第一生产力”。
     
      我在想面试的技巧中是不是再要加上“吹牛”这一条?
     
      见过多少人靠吹牛通过面试?我知道现在搞IT的形式好,但是IT公司门你们也要有点廉耻,不要像饥渴怨妇被下了春药导致看到任何棍状物都兴奋,好不好?面试者们,也请擦亮你们的眼睛。你们应该都是精英,面试进来的人,也尽量是未来的精英,好么?吹牛的interviewee在“成功”后觉得就像耍猴般的耍你们,知道吗?
     
      有些人也拿起点尊严,心态不要像“我就是不要脸了,被拆穿也不怕”这样。
     
      不过相信你们也不会听到什么的,毕竟利益驱使可以让人什么也不要。
     
      一切源于上两周某人在某公司群面非技术职位中一个片断:
     
      某人:……great experience of programming……top 3……
      Interviewer:那么为什么不去面技术职位呢?
      某人:我觉得我可能还不够……
     
      我想说,你的同学们被你说成什么样了?如果你是top 10,即使top 20你说自己top 3了也罢,你是top 60还不知道是top 80知道么?
     
      如今的面试啊,如今的IT公司啊。
      我知道这是层出不穷的现象,但是,还是让我保留一丝理想,好吗?
     
      //半发泄,看官可为一笑。
    May 14

    有同学去IBM实习

      待遇居然是每小时30元,都超过了我这里博士实习生的工资了,翻我一倍有余……
     
      为什么我本身就低而且上又封顶呢?摆明了让我为了钞票奔波么。
     
      金钱的力量真是万能的,而且对于像我这样在温饱线以下的人们的杀伤力是巨大的。哎,被一举击溃,不是不可能的。而且,在我最贫困潦倒的时候居然面对了这样的诱惑……
     
      至少某些方面我不必任何同学差吧……哼,继续看书去了。
     
      嗯,等俺去多了解了解情况再作打算……
    May 07

    成长中的大抓抓

      看书晚了,一时兴起去逛了逛牛人们的Spaces。
     
      其实结果我在这之前已经猜到了,就是自卑。而且是非常非常地自卑。
     
      我喜欢朝上看,看着看着似乎看到了前面的人,转眼间却发现他们遥不可及。
     
      我盼望着出挑,就算冒着“枪打出头鸟”的危险。就是,就算被一枪崩了头我还可以学习传说中的刑天老兄,双乳作眼,肚脐作口,继续奋斗。只是那时候的脑子放在什么地方我就不知道了。
     
      到目前为止事实上我的心情还是不够稳定,定下的Long Term Career Plan——就算制定过,最终是属于“泯然众人矣”类型的。
     
      说不定俺还真的会自己干,干得成干不成是另外一回事情。趁着年轻有劲多挥霍一点。不管怎么样看上去我还不比大部分人差,至少在激情方面,yeah。
     
      努力 + 激情 + 欲求不满 = 大抓抓。只此一家,别无分号。
    April 01

    心情很差

      最近似乎诸事不顺,一开始是心理上的,但是现在影响到了生理,异常胸闷,心脏隐隐作痛。
     
      各个方面似乎都有问题。欠别人的钱居然马上就忘了,几个月了还没有还。直到别人来催,真的过意不去。
     
      单位就更不说了……其实也没有什么好说的……就这样吧……
     
      到了低潮期了?是不是需要好好调整一下?
     
      似乎时间不允许,似乎只能在周末,似乎这个周末就是一个好机会。
     
      宝贝对不起,在你的生日却发了这样的文章……
    March 30

    迷茫

      临睡前逛了逛同学的Space,看了看别人的情况……
     
      忽然发现我有点迷茫。我一直想领先,想优秀。有时候似乎有点“成就”,但是自己知道这些都是些没有意义的光环。慢慢地,我总是会慢慢地落后,虽然我并没有发现自己哪里有放松,哪里不够努力。
     
      我想说是机会,是命运,是人生的偶然。但是这一直是我不愿意承认的东西,一旦承认了似乎我的世界观就会被颠覆。悖论的力量。但也因此,似乎走入了迷茫的怪圈。
     
      真的不知道该怎么做了,按照现在生活继续下去,我就走上了我不想走的路了。
     
      人生真的是一条最难走的路。
    March 13

    The more I learnt, the more I need to learn.

        That's true and I'm strongly feeling it. I must say that it is so uncomfortable for someone like me.
     
        My manager Peter pointed some practices and patterns about deploying in seperated layers which I should know, but I actually had no idea about how to express to him at that time! It's not strange that what I'm only familiar with is what I used lots of time. Things of enterprise level I met before are just learnt from books and papers. Even I always aware that,  I was shocked by myself when I realize my lack of knowleadge again.
     
        The more I learnt, the more I found the shortage of myself. I have wasted a lot of time. Perhaps more pressure is quite necessary for me. What I want to do is just learning more and more.
     
        Well, I'm hoping for some day that an upgrading from quantitative change qualitative change occurs to me.
    March 10

    A Crazy Book Buyer and an Awful Mistake!

        IT'S ME!!!
     
        Yup, it's me, Jeffrey Zhao, a crazy book buyer of professional books. Nearly 50 books has been brought since I've enter the university. Most of them are original ones, pay in dollars or hundreds RMB. Wow, but my income is so limit that I can't afford them. I'm so surprised that I'm still alive! Yeah, a little overstated, ahaha.
     
        I'm crazy! Crazy not for buying books using nearly $300, not for using three days to select how and where to buy but finally missing the cheapest chance, just for the stupid bug in Amazon system, one of the most famous stuff selling system in the world!
     
        Yes of course, surely, absolutely, definitely, the system - Amazon - is so mature and let me feel comfortable to use and to buy stuff. The feature is so flexible and tightly binding with each other to fire the user's desire of purchasing. The information is so integrity and huge that I'm just indulging myself with them.
     
        But something awful happened when I eventually want to buy something and made an order to several sellers...
     
        Oh let me describe it from the beginning, simply saying is that one of my colleague will have a trip in US next month that she can bring some stuff for us. Then I brought some and shipped them directly to her house in US. But the goddam Amazon system cut the address with 3 letters twice that I thought the American addresses are weird and finally give up dig the reason deeper and deeper...
     
        What the reason really is? I've no idea! But when I research the Amazon's profile setting in the evening, I can modify the address to the correct one not missing the last 3 letters! I'm shocked by this mistake, really! I've sent this address to 4 seller including Amazon and has been comfirmed. It means I can't cancel and changed it. Sucks!
     
        Damn it! What I can only do is sending mail and try to correct the mistake. I was exhausted after finish sending the e-mail. I've sent a specific mail to Amazon and let them try to fix the bug as well.
     
        What a bad experience I got! What if the packages are sent to the wrong place? What should I do then? How can I get my money back. Ahhhhhhh...
     
        Well, continue studying! Go ahead boy!
     
    March 02

    The way to tell someone he/she's wrong.

        I've no idea about that, and I've made several mistakes in this problem.
     
        Perhaps the best way is just like...
     
    Quote:
    What Was Wrong
    ...
    I wasn’t sure how to tell him what I thought of his methods. On one hand, work in my hometown was certainly convenient. But how could he have so completely misunderstood all that I had written about Scrum? How had I failed to convey the spirit of Scrum? He turned to me and somewhat proudly asked what I thought. I paused and then complimented him on the open arrangement of the team room and the general spirit of the team. I then asked him how he knew what the team was working on. He started to say he knew because they were working on what he had told them to work on, but before the entire sentence got out, a look of shock passed over his face. In just a moment of reflection, he had identified the key element of Scrum that he had forgotten to implement.
    ...
        This paragraph is quoted from 'Agile Project Management with Scrum' by Ken Schwaber, That's the way he pointed a ScrumMaster's misunderstanding how he should do in his position.
        Oh, how ideal the thing went! But how should I do...
     
    February 25

    我想做得更好

      好久没有坐在课堂里上课了,刚体会过这久违的感觉,令人出乎意料地是我并没有睡着,虽然依旧没有听,自己看了整堂课的书。
     
      晚上得知一熟人忽然拿到了微软的offer,忽然通知他去面试,一星期后就发offer了。ATC,FTE。看看我自己目前的状态,似乎半年来没有什么长进,回顾半年来在MSNTC的日子,发现似乎没有利用好公司的资源,更多的吸收以埋头苦干为主。
     
      批评自己一下,公司没有专门的push,我就不能主动的absorb吗?
     
      高年级学生的现在就是低年级的未来,特别是现在的形势是越来越好的。如果我没有什么举动的话,最终我会从现在“略微”领先的情况下变得落后。很不喜欢这样。
     
      想半年多前来面试MSNTC,怀着一种古怪的心情而来,最后以一种莫名的兴奋而归。然后在工作过程中慢慢地也对自己目前的状态不满。有傲气的我希望做得更好。
     
      几个月前定下的目标似乎无法完成,还好似乎现在更有针对性了,不过也更加意识到了形势的严峻。
     
      微软有这么一句话:We are the best, but even the best can do much better.
     
      于是我说:I'm not the best, and I can do much better.
    February 16

    心中始终不安

      觉得从数据库层的设计已经影响了许许多多的清晰度和性能,本该分开的内容被放在了一起。虽说从“理论”上来说数据库的存储能支持更复杂的结构了,但是对用户来说,根本无法输入如此复杂的数据,也无法显示这样的数据。
     
      其实我从刚接触这个项目开始就反对这个设计,但是既然已经有了雏形,而且别人说这个设计能够支持更复杂的存储,于是就不再坚持,现在不知道结果会如何。
     
      心中的不安始终萦绕,始终认为现在的结果非常糟糕,糟糕到了甚至有些业余的程度。
     
      我不想让自己的项目失败。如果我当时坚持自己的观点会怎么样?如果我当时我从头就参与这个项目又会怎么样?
     
      其实唯一有效的如果是:如果真的拿到了一把坏牌,也要把它打成尽可能好的结果。
    February 14

    在单位,做事到一半

      忽然收到一封邮件,实习生工资变了。
     
      一直说要变,但是不知道有多少,期望值比较高,想能像SAP那样吗?
     
      得到的结果很令人失望,只多了一点点钱,而且,令人发指的“学历分级”制度产生了。
     
      什么时候微软也变得那么俗套了?这点让人生计发愁的钱留不住人啊。冲着SAP的200RMB/d和Ubisoft的5000/M,连我这个一心投靠微软的人都曾经有过动摇。而且进这两家公司真的不难。
     
      有点讽刺的是,按照计算标准,对于我而言,一周做了超过40个小时,就相当于40个小时,没有任何OT补贴等。不由长叹,何等悲哀,被逼着待业在家。难道一个senior student的价值就如此低吗?真希望有一次考核来确定工资。
     
      人穷(注1)果然志短,我什么时候恩格尔系数能降下来呢?期望越高,失望越大,果然是这样。要不,我先去做别的地方的实习生,等毕业以后再回微软?
     
      不知道,只知道刷的一下,整个人像被当头浇了一盆冷水,昨天培养出的激情没有了。
     
      注1:“穷”原意地位低下,这里胡乱使用,意为“贫”。

    看书看到深夜

      还是喜欢随性做事。
     
      喜欢看书到看够,即使第二天还需要早起。
     
      喜欢做事做到最好,即使只是为了自己看上去舒服。
     
      哎,必须对的起自己,对的起“东家”在自己心目中的地位。
     
      虽然东家对我不好,只给我一点点钱,让我辛辛苦苦地创造财富然后剥削掉。
     
      啥时能好一点呢?不想像现在这样穷得要考虑的事情好多,然后不能随性地做事。
     
      呼呼,今天思索一个问题半天,从离开公司到近12点,似乎有点眉目,颇有些安慰的感觉。