Microsoft FY07 Company Meeting

这次在Redmond出差一周,其中目的之一是参加07财年的Company Meeting。这次的Company Meeting开在Seattle downtown的Safeco Field,是一个很酷的钢结构巨型棒球场(想想把一个棒球场塞满程序员是什么感觉)。

零散的记着:

  • FY07确实是微软值得自豪的一年。产品,财务,组织都成绩显著。HR部门所在的观众席更是从头兴奋到尾。
  • 各个executive分别做了回顾和展望。
  • 技术方面的演讲都不是很精彩,能记起来的也不多了(现在想起来,后悔没有做笔记)
    • 除了"Software+Service",另一个贯穿了所有技术演讲的理念是"Quest"。我第一次听"Quest“这个理念是Server division的architect做的这个专题的演讲(这个理念最早是他提出来的)。这不光是个战略,也是一种新的看待问题和解决方案的角度。当时就让我耳目一新。
    • Ray Ozzie的演讲把所有的产品线都过了一遍,时间长却没有明显的重点。现在能想起来的也就是"keep personal personal"和"Software+Service"。
    • Bill Gates还是一副演讲时忧郁的表情。除了亲自演示Surface,当然还演讲了他最钟爱的话题——技术展望。
    • 现在想起来,有些后悔没有记笔记。
  • 产品演示
    • Surface。Bill Gates亲自演示的Surface简直惊艳全场;虽然我之前就看过网上的demo,但这次看到实物的演示,还是觉得很震撼。
    • Silverlight。技术很酷,可惜演示不是很成功。
    • Microsoft Dynamics。实在是没有共鸣,观众纷纷趁这个演示的时候上洗手间。
    • Windows Live。Windows Live的观众席基本被其他产品组闷了全场,直到最后的Windows Live产品演示。
      • Windows Live Search的展示很鼓舞人心,确实能看到Beta中的Live Search的进步。而做展示的GM以拳击(其父亲是拳击手)做的比喻(被打的对象自然不用我说)也给整个产品演示赋予了力量和坚忍的色彩。
      • 至于另一个演示,Windows Live其他产品如何整合,不提也罢,和hao123一个水准。
    • Halo 3, Microsoft Game Studio。作为最后一个产品演示,它保证了大家坐在位置上迎来最后Steve Ballmer的演讲。
  • 乐队配合的很不错。曲目很棒,表演率性而热情。尤其是男歌手的嗓音很有力,又收放自如。
  • 飞纸飞机很流行。大家都期待着看有没有能飞到台上去的,可惜无一成功。

最后,也是最高潮,Steve Ballmer几乎咆哮着入场…… (这部分实在是值得分开写一篇)

最后,我最大的遗憾——事先不知道照相机和摄像机也不让带,于是个头不小的D80自然是被寄存了。所以什么照片都没有留下。

记者交流会:张亚勤,Demo

周三在Windows Live China有一个内部的文字记者交流会。来了不到10个财经类记者,气氛比较随意,大家围着会议桌坐了一圈。张亚勤博士先做演讲(更多是Q&A),然后我demo了Vista Parental Control,之后还有Virtual Earth和Unified Communications的demo。

张亚勤博士用我的笔记本放的演讲稿,所以我幸运地有机会近距离领略一下大师的风采。我感觉他的思维敏捷、结构化,对行业、政府、商业都有广泛而深切的见解, 是一位虚心、真诚、务实的谈话者,也是一个平易近人的领导者。说实话,对于记者的有些提问,张亚勤博士的回答之开诚布公超出了我的预想。

3个demo做的我觉得也都比较成功,收到了很好的效果(甚至震撼效果)。但是从另一个方面来说,如果对于这些一线媒体记者来说都是震撼和前所未见的,那么说明我们产品在中国的推广和宣传做的还远远不够。

记者们思维都很活跃,七嘴八舌问了不少有趣的问题,而且因为大家是财经记者,对于股票/期权以及商业模式之类的似乎更感兴趣。其中印象比较深的,一位记者问我“你们做这个产品,是出于商业模式考虑还是技术考虑”,当时时间充忙,而且被另一位记者打断,没能回答。我后来倒是更广泛地思考了一下这个问题,下次再写出来探讨。

A Java Interview Puzzle.

前天和Morgan讨论C#和Java的异同时,伙同其随意编出如下Java面试题一道:

 

What will be the output of the following program?


class ABC
{
	public ABC()
	{
		System.out.println("A");
	}
}

public class Sequence extends ABC
{
	{
		System.out.println("B");
	}

	static
	{
		System.out.println("C");
	}

	public Sequence()
	{
		System.out.println("D");
	}

	public static void main(String argv[])
	{
		System.out.println("E");
		Sequence seq = new Sequence();
	}
}