posts - 37,  comments - 286,  trackbacks - 2
  2011年2月27日

      微软研发集团在中关村西区建设的新办公楼,已经陆陆续续的启用了。清华科技园的员工首先入住,这个周末西格玛大厦的员工也搬入了新的办公楼。趁着周末逛中关村的机会,我先一步参观了微软的新办公楼。3月份大楼将正式启用,亚勤也在微博上说,休假之后他就会到新的Office 来上班了。

      下面是图文说明:

 

      新Office 的门禁系统很有现代感,类似于地铁的闸机。进入电梯间时就需要刷badge,未经授权无法进入电梯间等待电梯。每栋楼各有12部蒂森克虏伯电梯为员工服务。出电梯间时不需要刷卡,直接向外走即可,以后要到新Office 做客的朋友们不要出洋相哦!新Office 二楼是餐厅,不知道是不是24小时都有饭吃。三楼是员工的休闲活动区和一部分会议室。

 

     三楼的北楼居然还有一间伊尔萨洗衣房!真是想得周到。单身的兄弟们有福气喽!

    这是三楼员工休闲区的一间操房。美女们可以在这里练瑜伽,帅哥们可以在这里修炼跆拳道。只是要小心地上的插座,呵呵。

    三楼操房外面摆放了乒乓球案,有双鱼和红双喜两种品牌。看起来像是之前西格玛或者清华用过的。

     从三楼的会议室眺望一街之隔的中关村西区地标--中钢大厦。

      索迪斯(Sodexo) 被指定为大厦内的餐食提供商。南楼和北楼都有索迪斯的餐厅,是不是24小时供应就不知道了。 不过从广告上看,餐食的种类还是很多的。 中关村美食汇集, 想吃倒了胃口可不太容易。

     新Office 的南楼和北楼隔着一条马路。这是位于3层,联接南北两栋楼的一条天桥走廊。走在这里,有点儿类似上飞机的感觉。

    充满现代感的玻璃楼梯。

    办公区不是Cubic的形制,而是一排一排的。现在正是大搬家阶段,乱糟糟的还没收拾好。

    现代感十足的玻璃楼梯和《骇客帝国》风格的“数码墙”。

    新Office 豪华的一塌糊涂,比新加坡的Office 一点儿都不差。在这里上班真是享受啊。

小贴士:

    微软在全球自持和租赁大约有五百多处物业,其中属于微软自有资产的自持物业有大约一百处。

posted @ 2011-02-27 01:23 Michael Lee 阅读(3029) 评论(18) 编辑
  2010年7月25日

    2010年7月9日,微软释放出了Windows Phone 7 Series 的SDK beta版。这让我们有了进一步了解还未上市的Windows Phone 7 Series 手机的机会,这个SDK 不但包括了编译器和开发库,还有一个Windows Phone 7 Series 的模拟器。我们可以通过这个模拟器初步了解一下Windows Phone 7 Series 手机所具有的功能。

SDK 的安装

      微软释放出的Windows Phone 7 Series SDK 仅提供Web 方式安装程序。首先要在微软下载中心下载安装程序vm_web.exe 程序。运行之后,这个程序要从公网上下载三百多兆的内容。因此,安装时最好有一个比较好的网络环境,耐心的等待是必须的。

 

 终见真容

      经过漫长的安装等待之后,我们终于可以看到Windows Phone 7 的样子了:

 

      Windows Phone 7 Series 的手机有三个硬件按钮:返回、开始、搜索。 返回键可以让用户返回上一个操作界面;开始键可以让用户在任意时刻呼出主界面;搜索键是专为必应搜索准备的,按一下就可以直接通过IE 浏览器打开必应搜索主页。 和谷歌一样,微软也将自己的新一代手机操作系统与自己的搜索引擎紧紧捆绑在一起。

      点击搜索按钮后,转入必应搜索主页:

 

     从界面上看,用WP7 打开必应搜索,与在PC 上打开必应搜索界面是一致的,而且WP7 也能显示出必应搜索特有的“图片热点” 功能。由此可知WP7 所自带的IE 较之以前Windows Mobile 系列的IE 浏览器功能上有了很大的飞跃(以前的WM操作系统中的IE是基于IE4.0 内核的)。 赞一下!

     再看一下主界面:

 

      如果单单这样一看,你肯定以为是一个Zune! 真是一朝天子,一朝臣啊。 自从Windows Mobile 部门被合并后,WP7 UI 全面采用了Zune 界面风格。WP7 不再支持界面自定义, 这对电信运营商来说,可真不算是什么好消息。 应用程序连一个Logo 都没有,全用文字表示,非常非常的“返朴归真”。 但好在界面切换时支持了动画效果,看起来还有些时代感。 可能对于用惯了Windows Mobile 用户来说,跳跃性如此之大的界面改动,还真得花些时间适应。 成功还是又一次失败,到时只能让终端用户的钱包来说话了。

      WP7 的同步软件,也将不再使用ActiveSync,转而使用Zune 的同步软件。这个新的软件我并未在SDK 中发现,因此无法对此作出判断。

用户输入体验和 IE 浏览器

      WP7 新版的IE浏览器比照之前的版本确实有了很大的进步。如图:

 

      WP7 自带的软键盘,采用了当今比较流行的风格,键盘布局与Android 和iPhone 的类似,比Windows Mobile 的那个软键盘好用了很多。WP7 的地址栏有比较强的URL 输入提示功能,较好的降低了用户输入字母的烦恼。不知道WP7 是否预留了输入法和软键盘的接口,如果WP7 无法安装搜狗拼音,那么对中国用户来说,真不是一个好消息。

 

     WP7 的IE 浏览器一共支持6个窗口,比Android 的浏览器多一些。不过,我个人认为这对一般用户来说,并不是一个重要的功能提升。因为我用UCWeb 浏览时,几乎没有一次会同时打开4个窗口(UCWeb 支持最多4个浏览器窗口)。

 

     WP7 的IE 排版已经有了很大的进步,排版基本上以屏幕宽度为准,避免出现横向滚动条,用户浏览页面仅需要垂直方向拖拽页面即可。对于像新浪首页这样的较复杂页面WP7 的渲染效果非常好,只是感觉速度上与WebKit 内核的浏览器稍有差距。在浏览器易用性上,缺少对放大/缩小 功能的支持,如果手机屏幕较小,那么对用户的手指尖绝对是一个挑战。 与Android 和iPhone 一样,新版的WP7 IE浏览器也不支持Flash播放。

     通过IE 浏览器这个应用可以看出,对于复杂应用的功能,都是通过界面上的工具栏来实现的。 与Android 不同的是,这个工具栏无法收缩起来,这无疑占用了应用程序界面的面积。希望正式版可以支持工具栏的显示/隐藏。

     Windows Phone 7 Series 操作系统支持了重力感应传感器,在Microsoft.Devices.Sensors 命名空间下 AccelerometerSensor 类可以读取出当前重力加速度的数据。

  

 

posted @ 2010-07-25 16:30 Michael Lee 阅读(1853) 评论(3) 编辑
  2010年7月22日

      前天上午跑去考了70-660 Windows Internals 这一科考试。我在去年利用second-shot 优惠,考过两次,结果全都挂了。 这次考试终于通过了。70-660 这门考试主要是考察对Windows 系统的了解,以及如何用工具对Windows 系统出现的各种问题的排查、定位的能力。考试时间105分钟,43道题。是我见过的考试时间最短的一门考试。

 

      微软对这门课程推荐的教材是《Windows Internals》,该书已经由潘爱民进行了翻译,中文名字叫做《深入解析Windows操作系统 第4版》 。 这本书是一个大部头,价格也相对较高。在我看来,这部书虽然好,但并不是70-660 这门课的最好教材,我推荐大家看一下《Windows 高级调试》 这本书。这本书较为系统的讲解了如何使用相关工具对Windows 以及Windows 的应用程序、驱动进行问题排查,如何抓取、分析Windows dump 文件。内容浅显易懂,并且也足够应付70-660 这门考试。

 

      70-660 考察的工具主要是 Windbg、gflags、System Internals suitekernrate 等工具的用法,选择策略。 其中Windbg 考的最多,其中分析线程、进程、Callstack 的命令需要熟练掌握。 分析dump 的题目占比较少,我也就遇到了3、4道真正是分析dump的题目。

 

      70-660 是一门会者不难,难者不会的考试。 考试题目、选择的答案,都非常简单,一道题目没有几个单词。以正常的阅读速度,应该在40分钟左右可以做完。唯一比较大的遗憾是,70-660 这门考试没有覆盖.NET 应用程序调试SOS 的内容。不知道以后微软是不是会针对.NET 应用程序调试推出专门的考试。

 

      下一目标, 向着MCPD for .NET Framework 4.0 努力……

posted @ 2010-07-22 11:02 Michael Lee 阅读(227) 评论(3) 编辑
  2009年12月17日

     WebKit 是世界公认的优秀的开源浏览器内核。具有渲染速度快,灵活可定制,多平台支持等优点。国内知名的Maxthon 和 UCWeb 都将WebKit选作浏览器内核。谷歌公司和苹果公司也分别在WebKit 基础上只做了Chrome 浏览器和Safari 浏览器。

     虽然WebKit 已经越来越多的被广大程序员接受,但其编译过程却非常之痛苦。下面将我编译WebKit 代码的经验与大家分享。

 

1) 获取WebKit 源代码

      WebKit 源代码是使用Subversion 工具做管理的。因此,只要具备Subversion 客户端就可以从http://svn.webkit.org/repository/webkit/trunk 获取源代码。但是,这并不是最好的方式。在实际编译过程中通过svn拿下来的代码有可能为你带来许多的烦恼。因此,我推荐从WebKit的Nightly build 直接下载WebKit 源代码压缩包。具体地址是:http://nightly.webkit.org/builds/trunk/src/1 像WebKit 这么大的项目仍然遵循Daily Build 的原则,真是挺了不起的。

      WebKit 源代码在本文写作时,版本是r52221 但我最近两天都没有将该版本的WebKit编译成功。原因是,使用Visual Studio 2005 打开项目几分钟后,Visual Studio 2005 会停止响应。我测试过r50006版,也就是5字头的第一版,就没有这个问题。版本号越大说明源代码越新,反之就越古老。

 

2) WebKit 编译环境的搭建

     WebKit 网站有一篇文章说明了一下WebKit 在Windows 平台下的环境搭建:http://webkit.org/building/tools.html 但这篇文章写得也太过简单了。这也是WebKit 最最蹂躏人的地方。我在历经十数次失败之后,终于找到了通往目标的捷径。

 

  硬件方面

     内存最好找一台内存大于2G的计算机。 因为WebKit 项目太过庞大了,会生成数以百计的.obj 文件。在执行链接操作时,内存会需要大概1.6G内存。如果你机器安装的又是Vista 之类的吃内存操作系统,那就等着看link.exe 告诉你"Out of memory"吧。 我安装了Vista的机器的内存只有区区2G,链接了数次都没有成功,最后逼得我在安全模式下(连网卡驱动都没敢加载)编译,终于在内存峰值到达1.99G 时涉险过关,真是太刺激了,太刺激了。

     硬盘当然是越大越好,因为WebKit 源代码展开后需要占用160M-190M磁盘空间,编译过程产生的中间文件需要大约4G的存储空间。外加上Cygwin Visual Studio 等占据的磁盘空间,这些还是挺大的。 最最重要的是系统盘最好预留出4G左右的空间。

     其实使用多核的CPU对编译WebKit 也是有好处的,编译脚本可以同时并行的调用cl.exe 编译WebKit,大大缩短了编译时间。

 

     软件方面

   首先你需要安装Visual Studio 2005 SP1 如果是Vista 或者Window 7 需要安装 SP1 update for vista。 Visual C++ 2005 Express 也是可以编译WebKit的,但是需要单独安装 Platform SDK。 实践证明WebKit 在Platform 5.0 6.0 上都可以编译通过。

     这里也会引申出一个问题,如果你的机器上已经安装了Visual Studio 2008 怎么办? 别担心,Visual Studio 2005 和Visual Studio 2008 是可以共存的,并且Visual Studio 2005 可以在Viusal Studio 2008 之后安装。但是,需要注意的是,当Visual Studio 2005 在Visual Studio 2008 之后安装后,WebKit 的perl脚本只会到 “系统盘\Program Files\Microsoft Visual Studio\” 下面去找VC 的bin文件夹(也就是cl.exe 所在文件夹)。如果你安装的VS 2005 不在系统盘,需要将VC的bin文件夹拷贝到系统盘的那个目录中去。

     在安装完Visual Studio 2005 之后,需要安装另一个大块头Cygwin。Cygwin实际上是在Windows 上模拟了一个Unix 环境。 安装Cygwin最好不要直接使用Cygwin网站上给出的setup.exe 文件。而是使用WebKit.org网站上给出的cygwin-downloader 工具。 cygwin-downloader 会下载编译WebKit 所需的101 个工具(现在可能又多了几个),诸如perl、zlib、bash 等等。待下载完成后,再运行Cygwin的安装工具 Setup.exe 选择从本地目录安装。请注意!Cygwin 要安装到系统盘分区下,如C盘是系统盘,那么Cygwin就必须安装在C:\cygwin 下。安装完成后,大约会占据几百兆的空间。

    下一步,仍需要安装的是QuickTime SDK。 据有人说可以不安装这个QuickTime SDK,但我发现如果不安装的话WebKit 解决方案中的QTMovie 项目一定是无法编译成功的。 QuickTime 一定要安装在 系统盘:\Program Files\QucikTime SDK\ 下面,千万别改动安装路径。

 

    最后,在解压缩WebKit 源代码文件之后,还需要到webKit.org 站点下载 WebKitSupportLibrary.zip 文件,这个文件是一些第三方库在Windows 平台上预先编译好的版本。供WebKit 链接时使用。下载后,zip文件无需解压缩,直接放在WebKit的根目录下即可。

 

 

编译步骤

    1)  设定环境变量。将WEBKITLIBRARIESDIR设定为 WebKit 源代码目录\WebKitLibraries\win 路径; 将WEBKITOUTPUTDIR 设为你打算要存放obj和dll 的输出文件夹,当然这个文件夹所在的分区至少要有4G的剩余空间。

    2)  执行更新脚本。 请在桌面上运行cygwin 的命令行窗口,然后通过CD 命令(和DOS的CD命令一样) 跳转至WebKit 源代码目录\WebKitTools\Scripts 文件夹下。比如,我的WebKit 源代码放在F盘,就是 cd F:/WebKit/WebKitTools/Scripts/  运行该目录下的 Update-WebKit 和 Update-WebKit-Support-libs 两个脚本。 很多博客上都没有提到这个步骤,实际上这个步骤是能否成功编译的关键。

    3)  成功执行完上面两步后,就可以使用Visual Studio 2005 打开位于 WebKit 源代码目录\WebKit\win\WebKit.vcproj\ 目录下的 WebKit.sln 解决方案了。这个sln默认带有六个编译配置 Debug、Debug_all、Debug_Cairo、Release、Debug_Internal、Release_Cairo。用Release 编译出来的就是用苹果自己的渲染引擎的版本,和Safari 的一致。 用Release_Cairo 编译出来的是支持Cairo渲染引擎的版本,这个版本可以脱离苹果的环境单独跑,但同时也无法放到苹果的Safari 环境中运行。要想监测编译是否成功,可使用WinLauncher.exe 这个应用程序加载WebKit 进行测试。

 

先写到这里,以后想起什么来再补充吧。

 

 

 

 

 

 

posted @ 2009-12-17 18:00 Michael Lee 阅读(3306) 评论(7) 编辑
  2009年12月2日

2009年年尾,微软再次推出微软认证考试优惠,根据不同科目分别优惠15%、20%、25% 有意者请尽快注册:

http://www.prometric.com/microsoft/careeroffer.htm 

posted @ 2009-12-02 13:09 Michael Lee 阅读(153) 评论(0) 编辑
  2009年9月9日
摘要: 这本《Windows PowerShell 2.0 Administrator's Pocket Consultant》 是 Stanek 口袋书系列的其中一本。作者Willam R. Stanek 拥有20年以上的程序设计经验,并编写过将近100本的IT技术书籍。可谓是专家中的专家,他为IT Pro 编写的口袋书系列 仅仅是其作品的一小部分。 回过头来,我们说说为什么需要了解PowerShell...阅读全文
posted @ 2009-09-09 16:53 Michael Lee 阅读(259) 评论(0) 编辑
摘要: 武器一:穿甲弹 Source Insight网站: http://www.sourceinsight.com/ Source Insight 工具是分析源代码工程的利器! 有了它,再多的源代码文件也不怕,它能帮助你像使用Visual Studio 一样去"go to definition"、"Find References"。Source Insight的语法提示,比IDE做得都帅,有了它可以帮...阅读全文
posted @ 2009-09-09 15:53 Michael Lee 阅读(1695) 评论(6) 编辑
  2009年8月27日
摘要: 问题: WinInet 与 WinHTTP 同为Windows 平台下访问互联网的API组。WinInet 技术比较老,已经有十余年历史了,在某些方面并不完全胜任访问Internet的工作。于是后来有了winHTTP APIs。 或许是微软考虑到winHTTP技术可以全面替代WinInet访问,所以某些结构体、宏被winHTTP.h 文件进行了重定义。当一个代码文件(.cpp 或.inl) 同时包...阅读全文
posted @ 2009-08-27 15:41 Michael Lee 阅读(486) 评论(0) 编辑
  2009年8月13日
摘要: Android 开发者使用Eclipse 新建一个Android 资源文件(xml 文件)时无法正确启动Android XML file wizard。 具体操作如下:1) 在package explorer 或者文件菜单中,选择新建;2) 在新建子菜单中选则others....;3) 在新建向导中选择 Android -> Android XML File; 此时会收到Eclipse 报告...阅读全文
posted @ 2009-08-13 05:10 Michael Lee 阅读(2168) 评论(5) 编辑
  2009年8月6日
posted @ 2009-08-06 15:59 Michael Lee 阅读(2783) 评论(9) 编辑