RSS 2.0 Feed
2006-03 Entries
摘要:在微软总部16号楼和17号楼中间的空地上,嵌着一块块刻着字的地砖。每一块地砖上都是微软曾经发布过的产品的名称、版本和发布日起,从1975年成立到1999年。 微软成立的最初三年,只发布了五个产品,全部是编译器,其中四个是BASIC语言的,还有一个是FORTRAN。都是Bill Gates的看家本领。但到了1990年,一年之中发布的产品就刻满了整整一块砖。进入九十年代以后,微软每年发布的产品在一块砖上就刻不下了。      地砖上的产品里,有一些是会被我们这一代人牢牢记住的:Windows 3.1 for Workgroup, Visual Basic 6.0, Windows 95, MS DOS 6.2, Internet Explorer 4.0, 还有帝国时代:)       有些产品被我们记住是因为它著名的失败: 有些产品,历史比我们所知道的要长很多:1992年的时候就有SQL Server 4.2了,1992年的时候微软就已经在为Mac OS开发Office了,1997年的时候就已经有Windows CE了,而且还是ver 2.0:   知道NetShow和Site Server的人可能并不多,但知道Windows Media Service和Sharepoint Portal Server的估计不少。NetShow就是Windows Media Service的前身,Site Server到3.0以后就被并到了Sharepoint Portal Server中去了。NetShow和Site Server也是我2001年冬天刚刚到微软全球技术中心做实习生的时候支持的最初几个产品之一。   还有些产品,只有老微软才知道,例如Schedule+。直到现在,还有很多老微软写信不用"meeting request",而是说"I will send out s+ later"。这里的S+就是Schedule+。 还有些产品,估计老微软也不知道是做啥的。比如这些:微软恐龙?微软狗?微软海洋?   ...[阅读全文]

posted @ | Feedback (37) | Filed Under [ Cool Stuffs ]

摘要:有人问起怎么在.NET 1.1里面用byte[]创建X509Certificate实例,以及怎么用X509Certificate来访问需要客户端证书的Web Service。MSDN里面对.NET 1.1里面怎么用证书讲的不是很完整,虽然有例子代码,但是第一次用的人还是需要费一番精神才能搞出来。我从硬盘里找了段以前的code给了他,顺便也在这里贴一下,也好让各种搜索引擎访问到://.net 1.1 version bdk bd = new bdk(); StreamReader reader = new StreamReader(path); //path of .cer file string certbody = reader.ReadToEnd(); certbody=certbody.Replace("-----END CERTIFICATE-----",""); certbody=certbody.Replace("-----BEGIN CERTIFICATE-----",""); certbody=certbody.Replace("\r\n",""); // Get client certificate byte[] certbytes = System.Convert.FromBase64String(certbody); X509Certificate cert = new X509Certificate(certbytes); bd.ClientCertificates.Clear(); bd.ClientCertificates.Add(cert); //Then we can TestConnection //if failed , TestConnection will throw an SoapException, try to catch it string aa; bd.TestConnection("input", out aa); 这里的.cer文件是从Certificates MMC里面export出来的,或者也可以从IE的option里面导出。导出时候要选择"Not to export private key",用"Base64 Encode"格式导出。这里的"bdk"类就是一个Web Service的proxy类,TestConnection()是一个WebMethod。 在.NET 2.0里面,代码就可以简洁得多了,只需要一个调用就可以了,不需要自己手工读文件、去头去尾以及转换成byte[]了。...[阅读全文]

posted @ | Feedback (10) | Filed Under [ Dot NET ]

摘要:中午在Bldg 40和41中间的Cafe吃饭的时候拿了一份今天的USA TODAY(《今日美国》报,电影里经常被用来做接头对暗号的道具),看到RIM在第五版上做了一个一整版的公开信,标题是"A Message To All BlackBerry Supporter",署名是RIM的两个Co-CEO:  (点击放大) 公开信的背景是前一阵子的专利诉讼,NTP状告RIM侵犯了其专利,最终结果是今年三月初RIM宣布支付给NTP总计六亿美元用于和解此案。公开信的大概意思就是说这件事情已经了解,RIM和BlackBerry还活着,服务继续有保证,感谢大家的支持,云云。这些都很正常,一般公司常见的公关手段而已。 但信里在第四段开始的地方说"why the patent system should allow such a bizarre set of circumstances to threaten millions of American customers in the first place",这就有点无耻了,RIM不能仗着自己在美国的用户多就对法律说三道四。有些美国人就是双重标准:说起中国的知识产权来一套套的,轮到自己了却说专利系统不合理。法律终究是法律,知识产权就是知识产权,怪只能怪RIM自己当初疏忽了,这六亿美元就当是学费了,而不应该说什么“为什么我们的专利系统会导致如此混乱的现状,并直接威胁到几百万美国人的生活”之类的话,听上去很有一点“挟民众以令法律”的味道。 事实上,我不认为RIM还能支撑多少年。就移动通信以及相关的语音、数据等增值业务来说,美国是一个很小的市场。有数据显示,45%的美国人在过去的一个月中没有发过短消息。我的一些在美国的同事,他们根本就不用手机,有手机的也经常不带在身上,用的还都是四五年前的老款,和香港人均手机拥有量超过一台的状况有天壤之别,更不要说内地的庞大人群和消费能量了。想不明白为什么RIM一直不做中国的生意。迟迟不进入中国是Palm曾经犯下的致命错误之一。等着看RIM吧。...[阅读全文]

posted @ | Feedback (13) | Filed Under [ Mobile ]

摘要:Remember the "Windows XP on an Intel Mac" contest? As of last weekend, the award is 12,000+ US dollars. Now it's accomplished. See http://arstechnica.com/journals/apple.ars/2006/3/13/3169. ...[阅读全文]

posted @ | Feedback (5) | Filed Under [ Cool Stuffs ]

摘要:微软在今年一月份的瑞士达沃斯世界经济论坛上被评为全球“最受信任的公司”。下面是Wall Street Journal的相关报道: How Microsoft Rebooted Its ReputationBy Alan MurrayMarch 1, 2006 A survey of global opinion leaders, circulated at January's World Economic Forum in Davos, Switzerland, by Richard Edelman, chief executive of the Edelman public-relations firm, tackled that question. Mr. Edelman's research found that certain companies rank high in their home markets -- Toyota Motor in Japan, Samsung Electronics in Korea, Siemens in Germany, International Business Machines in the U.S. But the reputation of one company was on the rise throughout the world: Microsoft. Microsoft? The same company that has been found guilty of anticompetitive practices on three continents? The company that is......[阅读全文]

posted @ | Feedback (12) | Filed Under [ Cool Stuffs ]

摘要:By creating the "Messenger.UIAutomation" object, there is no too much difference between automating Live Messenger (aka. MSN Messenger 8.0) and the previous versions (6.0, 7.0, 7.5):STATUS_OFFLINE = 1 STATUS_ONLINE = 2 SET obj = CreateObject("Messenger.UIAutomation") Signin addContact SUB Signin IF obj.MyStatus = STATUS_OFFLINE THEN obj.AutoSignin DO UNTIL obj.MyStatus = STATUS_ONLINE WScript.Sleep 2000 LOOP END IF END SUB SUB Signout IF......[阅读全文]

posted @ | Feedback (6) | Filed Under [ Cool Stuffs ]