2007年4月19日星期四

Google AJAX Feed API 与 Cross Site AJAX

Google刚刚发布了Google AJAX Feed API ,文档和范例在这里。

【背景】流行的AJAX程序都大量使用了JavaScript和XMLHttpRequest,而XMLHttpRequest遵循同源策略,即通常所说的跨域问题。什么是同源策略:一般情形下,为安全起见,浏览器不允许你在客户端通过XMLHttpRequest访问别的域,默认你只能存取同域名、同一端口、同一协议下的资源。这给我们造成了麻烦,很明显,在不少情形下,获取别的网站的信息/服务是非常有用的。

【解决方案】通常解决方法有三种:

  1. 在同一域的服务器端建立一个代理,浏览器向该代理网址发送请求,然后该代理向其他域的网址发请求,在获取回复后,或作处理或按原样发回到浏览器。
  2. 使用按需(On-Demand) Javascript 脚本。在页面内动态生成新的,将其src属性指向别的网站的网址,这个网址返回的内容必须是合法的Javascript脚本,常用的是JSON消息。
  3. 使用IFRAME。在页面内嵌或动态生成指向别的网站的IFRAME,然后这2个网页间可以通过改变对方的anchor hash fragment来传输消息。
都是比较麻烦的。
后来,yahoo提供了Yahoo Pipes,一个可视化界面的feed聚合服务程序,业界评价挺高,当然还有其他几个mashups程序可供选择。但是Google AJAX Feed API可能是最适合developer使用的了。

【Google AJAX Feed API】 现在你只要书写几行JavaScript程序,不再需要建立复杂的服务器端代理,Google代劳了所有mashups开发。

【延伸阅读】关于 Cross Site AJAX:

1. Security Considerations: Dynamic HTML
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/sec_dhtml.asp

2. About Cross-Frame Scripting and Security
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/om/xframe_scripting_security.asp

3. Cross-Domain Proxy
http://ajaxpatterns.org/Cross-Domain_Proxy

4. Cross Domain XMLHttpRequest using an IFrame Proxy
http://manual.dojotoolkit.org/WikiHome/DojoDotBook/Book75

5. Back Button Support for Atlas UpdatePanels
http://www.nikhilk.net/BackButtonSupport.aspx

6. Cross-document messaging hack
http://blog.monstuff.com/archives/000304.html

7. Calling web services hosted outside of your application with "Atlas"
http://blogs.msdn.com/federaldev/archive/2006/07/31/684229.aspx

http://www.federaldeveloper.com/Shared%20Documents/Presentations%20by%20Marc%20Schweigert/CallAtlasWebServiceInDifferentProject.zip

8. AJAX Tip: Passing Messages Between iframes
http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=3b03cf9d-b589-4838-806e-64efcc0a1a15

2007年4月18日星期三

输入法版无间道

三表写的《输入法版无间道》,关于刘旭日、李二傻、黄三呆的故事,整的比较有意思,简直太TM有才了,不去写小说太可惜了,阅读全文点这里。

......
山谷公司举行新闻发布会,宣布推出新一代“山谷拼音输入法”,这个输入法不仅跟“狐狸拼音输入法”在界面和用法上极其相似,而且也是整合了搜索引擎技术。当刘旭日安装后使用了三分钟后,差点脑溢血。他咬着自己的假牙,在屋子里直哼哼:这,这他妈简直是模仿秀,竟然模仿到我头上了,也不看看我是靠什么起家的。
......

2007年4月12日星期四

Google Maps上的3维建筑

今天,你如果在Google Maps上拉近一点看,会发现大约35个美国城市和东京地图上增加了3维建筑模型,官方博客Google Earth Blog说是2.5维建筑模型。你虽然还不能旋转和倾斜视角但是他们确实看起来挺像Google Earth。实际上微软地图早已经实现了一个网页版的“Google Earth”,不过你还需要下载一个控件并且只能在IE上运行,易用性极差。
Google Maps in 2.5D

2007年4月10日星期二

Blogspot和Google的ip地址

在前面文章《如何在GFW封锁下访问blogspot》、《GFW、TOR、自动代理配置脚本》里都介绍了如何运用自动代理配置脚本。下面这段代码在网上也广为流传:

function FindProxyForURL(url,host)
{if(dnsDomainIs(host, ".blogspot.com"))
{return "PROXY 72.14.219.190:80";
}}
呵呵,用的人多了,难免引起GFW的注意。
其实不仅仅72.14.219.190这个ip适用上面的代码,经测试其他未被gfwed的google ip地址都可以代替使用。为防患于未然,附录列出了一部分google服务器的ip地址,此ip地址段来自月光博客,在此谢过。点击下面的ip,只要可以打开Google主页的,都可以代入上面代码使用。

btw:自动代理配置脚本一般在firefox下地址应写成 file:///C:/proxy.pac ,而在ie下应写为file://C:\proxy.pac 。网上其他文章介绍时一般都只说明了firefox下如何设置,只字不提ie,你可不要弄错了哦。

附录:Google的IP地址一览表:
http://216.239.37.103 http://216.239.57.99 http://64.233.187.107
http://216.239.37.105 http://216.239.59.103 http://64.233.187.89
http://216.239.37.106 http://216.239.59.104 http://64.233.187.99
http://216.239.37.107 http://216.239.59.105 http://66.102.11.104
http://216.239.39.100 http://216.239.59.106 http://66.102.11.105
http://216.239.39.102 http://216.239.59.107 http://66.102.11.106
http://216.239.39.103 http://216.239.59.147 http://66.102.11.107
http://216.239.39.106 http://216.239.59.98 http://66.102.11.99
http://216.239.39.107 http://216.239.59.99 http://66.102.7.104
http://216.239.51.100 http://216.239.63.104 http://66.102.7.105
http://216.239.51.103 http://216.239.63.91 http://66.102.7.106
http://216.239.53.102 http://216.239.63.93 http://66.102.7.107
http://216.239.53.103 http://216.239.63.99 http://66.102.7.147
http://216.239.53.104 http://64.233.161.104 http://66.102.7.18
http://216.239.53.106 http://64.233.161.105 http://66.102.7.19
http://216.239.53.107 http://64.233.161.106 http://66.102.7.89
http://216.239.53.99 http://64.233.161.107 http://66.102.7.91
http://216.239.55.102 http://64.233.161.89 http://66.102.7.95
http://216.239.57.103 http://64.233.163.104 http://66.102.7.99
http://216.239.57.104 http://64.233.163.106 http://66.102.9.104
http://216.239.57.105 http://64.233.163.99 http://66.102.9.105
http://216.239.57.106 http://64.233.183.91 http://66.102.9.106
http://216.239.57.107 http://64.233.183.93 http://66.102.9.107
http://216.239.57.147 http://64.233.183.99 http://66.102.9.147
http://216.239.57.98 http://64.233.187.104 http://66.102.9.99

2007年4月9日星期一

再炒谷歌中文输入法抄袭事件:谷歌公开道歉了

昨日,sohu正式发表严正声明要求“谷歌”:“公开赔礼道歉,立即停止盗用了搜狗拼音输入法词库的google输入法的下载和运营”。事件刚开始时谷歌则一声不吭,埋头升级接连推出两个版本,悄悄地改了词典,把其中有争议的都改掉。现在只好接招,承认:“该词库在试验阶段确实包含了一些非Google(谷歌)的数据源”,抄袭已成定论。
“Google作为以技术和创新闻名世界的著名互联网企业,并将“Don’t be evil(不做恶)”作为公司道德信条,更应当合法诚信、尊重商业道德。而此次Google技术团队竟然无视搜狗技术人员劳动成果,直接盗用搜狗拼音输入法词库,搜狐公司对此非常不理解。”绝妙讽刺!今天搜狗好像有个新闻发布会。
广大博客继续狂炒谷歌中文输入法剽窃事件:

Keso:

谷歌的声明,不是一个面对问题的正确态度。我们需要知道,谷歌拼音输入法最初的版本中,究竟包含了多少“非Google(谷歌)数据源”?侵权涉及哪些企业和个人?谷歌应该向所有被侵权者公开道歉,而不是轻描淡写地为不便表示抱歉。
单就事件本身而言,谷歌必须明确向每个被侵权者道歉,这不是一道选择题。


幻灭:
我个人觉得这并不是一件小事,虽然之前我曾倾向于不相信谷歌会抄袭,但谷歌一直不回应的话,就等于"默认"了。在中国发展,它还将会遇上更多类似的问题,如果不学会处理,将会极大地使"谷歌"及"Google"名声均受损。一个产品如果经不起用户质疑,要想成功恐怕很难。
谷歌承认了抄袭,但态度令人失望,它甚至连搜狗的名字都不敢提。它始终不是Google。我们在中国等了一年多,等谷歌给我们带来本地化产品,但没想到竟然是这样的本地化。


月光博客:
我觉得Google故意抄袭搜狗词库的可能性不大,可能是开发人员自身的问题。不过,Google的开发人员犯这样的错误实在是不应该,即使开发人手不够,也向Google总部申请相关资源,而不是直接把别人的东西拿来使用,谷歌输入法又不是开源产品,词库这东西和拼音输入法内核关联可能并不大,正当的购买一下第三方的数据也没什么大不了,汉语字典中的词库其实也不少,Google搜索引擎中也会积累大量新词,这样不就不会产生现在这些麻烦了。


不许联想系列文章恶搞谷歌输入法:
当有网民举报最新推出的股沟输入法抄袭了搜狗输入法词库之后,搜狐公司总裁张朝阳难过地哭了。他在接受《我国鸡算鸡报》鸡者采访时说:“这次我终于体验到被抄袭的痛苦了,以前我们总是抄袭别人,现在轮到自己被抄,才知道那种苦涩滋味了。”鸡者问:“那您打算下一步采取什么行动呢?”张朝阳哭着说:“还能采取什么行动,IT行业不就是抄来抄去吗,以前我们抄袭别人获利的时候,人家也就是揭发一次而已,他们知道打官司耗不起。我们现在不过是表达一下自己的姿态而已,还能怎么办?”鸡者又问:“那么,这件事对您来说有什么经验教训呢?”张朝阳说:“我只能诅咒抄袭我的人睡不着觉,吃饭咽着。以后再抄人家,一定要更隐蔽。不能让人抓住狗腿。”鸡者问:“那我就这么写出去?”张朝阳:“写吧写吧。”


Nings坚决反对谷歌道歉:
谷歌开发一个输入法,用据说20%的时间,20%啊同志们,你的20%的时间在床上做运动吧?在看玄幻小说吧?在论坛灌水抢沙发吧?人家牺牲性生活去搞一个输入法,用抄袭来支援国家计划生育大计,人家容易吗?
道什么歉啊,这社会就这样。有种你就去告啊,有本事你告赢啊,该赔你多少钱我们粉丝捐出来。言而总之,我们绝不道歉。如果道歉有用的话,还要他妈的警察干什么?


晨钟暮鼓:
这确实是一个令人失望又无力的回应。这次事件应该会被搜狗越炒越大,好戏还在后头。


玻璃锅
网上的讨论很多,作为开发者我闭着眼睛也能举出无数证据出来,但这不是今天写这篇博客的目的。先解释一下我在前一篇博客中说过的引起争议的那句话:gpy的一些功能,sogou不是不能做而是不敢做,怕被人骂流氓,十年怕井绳呀。不过google开了个头就好办了……


黄志光:
搜狗很愤怒,叫了好几个月的狼终于来了,而且一来就被人抄了自己的后路还被咬了一口,被人抄了词库。但愤怒的同时应该冷静下来的是,从产品层面上来说,虽然大家的满意度不错,但现在的搜狗输入法还只是一个半成品,没有用户概念,没有扩充性,充其量只是一个合格的软件产品而非互联网产品。


无知的博客
可是,搜狗你当年出输入法的时候,你的词库哪里来的呢?



TV的Google观察Blog:
1、谷歌在4月4日发布的谷歌输入法,发布后旋即发现该输入法实际上抄袭了搜狗输入法的词库。这件事情请问李开复博士是否知道,谷歌公司是否知道?Google公司是否知道?
2、不管之前知道与否,现在知道了吧?谷歌公司和李开复博士准备如何处理肇事者?开除/批评/扣钱,还是加薪/升职/掀起公司内学习该同志的高潮?Google公司准备如何处理?包括准备如何处理李开复博士的连带责任或者说连带贡献?
3、在李开复博士忙于与前雇主微软的诚信和竟业禁止官司时,国内舆论都认为李开复博士长期居住在美国,属于超级海归,所以谷歌公司的本地化一定会成为大问题。那么最近半年,谷歌公司一系列动作,热榜、导航、以及据说要收购流氓流量为主的265,当然还有这次的抄袭事件。这些动作是不是标志着说,谷歌的本地化已经初见成效,成为一家跟中国其他公司一样土鳖,一样流氓的目标已经指日可待了呢??


延伸阅读:
1、别拿技术忽悠人 Eric You XU
2、别拿技术忽悠人 demo@virushuo

阅读更多......

update:
11:24am Google黑板报发布了《谷歌就谷歌输入法对用户及搜狐等各方致歉》的公开信,不过和给sina的新闻稿好像有所不同,文中直接对sohu道歉了!

2007年4月5日星期四

Blogger模板添加Newsreel和Video Bar插件

Blogger上月末添加了两个插件:他们就是Newsreel和Video Bar。在Blogger模板页面元素里点击“添加页面元素”你就可以在弹出页的最上部看见这两个插件了。输入关键词,Newsreel会在Google News上筛选出你要看的新闻显示在你的blog上,Video Bar类似地在Google Video和YouTube里查找, 特别是Video Bar点击后可以在文章上方即时观看非常方便有趣。

我在侧边栏也加了一个Video Bar,关键词为“internet censorship",有兴趣的话点点看。

2007年4月4日星期三

谷歌出输入法了 、QQ空间也可以关闭了

今天真是一个好日子,在网上稍微溜达了会就发现两条振奋人心的好消息:谷歌出输入法了 、QQ也可以关闭QQ空间了。

1、聪明的谷歌拼音输入法今天上午终于推出。整个安装文件有10M多,呵,估计字库有一定的份量。官网吹嘘有五大特色:智能组句、流行词汇、网络同步、一键搜索、英文提示,网友说有模仿搜狗的嫌疑。不过就冲网络备份字库和Google的速度,再加上Google的品牌,怎么的也要试用下啊。这不,本文就是在聪明的谷歌拼音输入法里打的。

2、虽然很久很久不用QQ,但是看到QQ空间可以关闭的消息还是振奋了好一会儿。从来只听说过QQ不停的模仿添加功能,这还是第一遭,不知道马化腾受了什么刺激去掉这个鸡肋。从不曾对QQ空间有好感,不小心开通后后悔了好一会儿,先前还是QQ的会员呢(虽然money不是我出的),也坚决取消,先前和朋友只差一个星星现在估计都快差一个太阳了。昨天看见一则报道,中国虚拟货币交易量一年在9亿RMB左右,而腾讯则占了45%强。