Archive for 五月, 2009

七十年代的孩子玩什么?

Posted in Collation, Recomment on 五月 31st, 2009 by corrie – 2 Comments

七十年代的“孩子”,如今都已进入了而立之年。他们是伴随着中国社会体制转型而成长起来的一代人,只是这代人的 个性特征并不象80后一代那么明显。七十年代,物质生活并不像现在这么丰富,正是因为如此,才会有这许多的东西被创造出来。让我们跟随着下面这组漫画,一 起来看看七十年代 猴子 的孩子都在玩些什么。

原文链接:http://www.u148.net/article/8333.html

  • Facebook
  • Twitter
  • Share/Bookmark

Google Wave,新Web时代的沟通平台(多图,视频)

Posted in Collation, Google, News, Recomment on 五月 30th, 2009 by corrie – 3 Comments

20090529-google_wave_logo

昨天的2009 Google I/O大会上,Google的工程副总裁Vic Gundotra提到Google认为Web的未来在于HTML5,目前除去微软IE外的所有浏览器都已经支持了可以不用额外插件在Web中运行3D游 戏,观看电影的HTML5的支持。随后Google向大家展示了Google Wave,新Web时代的实时沟通平台。

Google Wave由Google悉尼的Lars Rasmussen和Jens Rasmussen两兄弟以及Stephanie Hannon联合开发。简单来说,Wave就像是Email电子邮件和IM即时通讯,wiki,在线聊天,社会网络,项目管理等功能的集成,Lars Rasumussen说:如果Email在今天刚刚被发明的话,那么它就应该是Wave这个样子。

现在让我们来看看Google Wave能干些什么。

20090529-google_wave_snapshots_inbox

从上图(点击可以放大)可以 看出,Wave最左侧是Navigation导航栏和你的Google Contacts联系人,中间部分是你的Wave Inbox收件箱——这部分看起来很像前面加了会话参与者头像的Gmail的收件箱,另外和Gmail的一个明显差别就是最右边显示数字的那列,这里显示 的数字2不一定代表Wave中有2封新的邮件,而有可能是任意形式的内容。

点击inbox其中的一个Wave,将在inbox收件箱右侧打开另外一个显示整个Wave的面板。简单来说,一个Wave就是你的朋友发给你的一个你需要回复的消息,如果你的朋友不在线的话,你可以像在Gmail中那样直接在朋友的消息下面给他们答复,和Gmail不同的是你可以在朋友的Wave中的任何位置插入你的回复消息。

如果你想让另外一个朋友加入 这个Wave的话,只需要从左面的Contacts联系人列表中将你的朋友拖入到这个Wave即可,注意,重点来了,如果新加入的这位朋友想知道在他加入 前这个Wave中发生了什么事情的话,他可以使用Playback回放功能——就像是将一个视频从头放起——他可以完整的看到这个Wave从被建立开始后 的一切事情!即下图中上端工具栏第二个按钮。

20090529-google_wave_concurrent_edit

上面提到的功能很像传统的email,但是注意其中的黑体部分,如果你的朋友在线的话,沟通方式就变成了实时聊天,比现有IM还要实时,你输入的每一个字母对 方都可以即时看到的(在视频的10:45秒附近,台下尖叫和掌声一片)。当然如果你不喜欢这种即时聊天的话,完全可以用Draft草稿模式来回到现有的 IM聊天模式。如果你在一个多人Wave中想和其中一个人密谈,也可以在Wave中建立起一个private conversation私人会话,私人会话将显示在参与者的Wave中。

说到这里,肯定有人会说Wave不就是Email+Gtalk吗?现在的Gmail差不多就可以完成这些功能嘛!拜托,如果真的是这样的话,Google有必要把Wave拿到I/O大会上重点介绍吗?现在我们来继续看看Wave的独有功能。

首先,你可以在Wave中像 Wiki一样和Wave成员协同编辑。用过类似Google Docs的传统协同编辑系统的人可能会深有体会,一个组织不好的协同编辑可能把事情搞得一团糟。Wave提供了非常棒的UI用户界面和实时编辑更新系统, 可以确保多人同时编辑一个文档时不会互相“打架”。具体实现方式为当某人编辑内容时,在他编辑的部分旁边会实时显示一个用明显的颜色圈起来的他的名字框。 如果你没弄清楚他在编辑什么,同样可以使用上面我们曾经提到过的Playback回放功能。

我们来举另外一个例子,比如你想好友分享你的照片,以前你需要在浏览器中上传图片,在picasa中找到图片并把链接发给好友。在Wave中这个操作容易了许多,在你的浏览器安装了Gears的前提下,你可以直接把照片从你的电脑拖动到Wave中,你的朋友马上可以在Wave视图中看到你的照片预览图并且可以帮忙更改图片名称等操作,当然类似幻灯片形式观看图片更是不在话下。

图片分享只是一个例子,在Wave中可以分享的东西还很多:Google Maps(可编辑),游戏,事件邀请等等。。。这些还仅仅是Wave团队们想到的,就像我们标题提到的,Wave是一个潜力无穷的沟通平台!

20090529-google_wave_yes_no_maybe_inbox

类似昨天我们提到的Web Elements,你也可以把你的Wave贴到任何地方,比如你的blog,这样所有访问你的blog的人都可以看到在这个Wave中发生了什么事情,如果他们有兴趣的话,甚至可以从你的blog加入你的Wave——在所有地方显示的同一个Wave数据都是保持同步的,类似Friend Connect Conversations,当然你可以设置是否别人可以匿名或者需要一个Google账户来加入你的Wave。

除去blog外,用户也可以 把Wave发布在一个独立的页面中,这个页面和Wave包括的内容都会被Google的bot抓取并索引。Wave团队提到,如果一个Wave被设置成了 公开的状态,那么用户将在Wave面板中看到明显的提示,以防止用户不小心将私人信息公开发表在网上。

20090529-google_wave_inbox_chess

进军企业应用也是Wave的目标之一,现在大量公司使用类似Yammer或者FriendFeed的沟通管理系统,Wave则综合了这些系统的优势,企业和个人可以非常容易的在他们的服务器上放置Wave来部署自己的管理系统。

在I/O大会的第二天,开发人员还展示了Wave的真正意义上的实时搜索,比如在wave中将Here这个词最后一个e删掉,它将马上从搜索Here的搜索中消失,注意,是即时消失。当你将这个e加回去后,它又会瞬间重新出现在搜索结果中。

另外,Wave的拼写检查不是传统意义上的基于词典的拼写检查,而是会结合你的上下文判断你的拼写是否存在错误,这个主意听起来非常疯狂,但是Google的工程师确实做到了。

当 然,Wave也提供了对Twitter的支持,Wave的开发人员们制作了一个叫做Twave(Twitter+Wave?)的gadget,通过这个 gadget用户可以在Wave中看到自己的Tweet并且通过Wave回复,听起来有点俗套?其实Twave的亮点在于提供了对Twitter的实时搜索以及搜索结果的实时更新,我相信Twave的搜索功能肯定要比Twitter自己提供的糟糕搜索要强得多。

Wave还提供实时翻译功能,这在Friend Connect Conversations也有应用。

下面我们来从开发的角度看看Wave。

前微软雇员Gundotra 举了他老东家的例子:Windows成功的关键之一在于Bill Gates从很早就开始坚持建立并维护一个完善的开发者社区,同样iPhone,Android平台的迅猛增长也和运行良好的开发社区有着非常紧密的关 系。如果Wave想要获得成功,那么开发者的帮助必不可少。

Rasmussen兄弟和 Hannon,以及其他50名Google开发人员已经建立起了一个非常有意思的框架,但是目前其只能实现对Wave潜力的初探。本周五Google将对 开发者开放Wave API,并希望在短时间内可以有大量关于Wave的gadgets,extensions(扩展),mass-ups(混搭)以及网站出现。

20090529-google_wave_map_yes_no_maybe
Google为Wave做了三步计划,第一步是作为产品的Google Wave,也就是说以一个普通的Google Web App形式存在的Wave。第二步是作为平台的Google Wave,就像上面提到的,他的应用远远不局限于在wave.google.com。第三部则是将Google Wave推广成为一个网络沟通平台协议,就像我们现有的http,irc,ssh一样,Google已经为这个协议建立了Waveprotocol.org网站。

同时Google宣布Wave将采用开源方式发布,可以想象的是,当Google Wave正式发布后,将会有大量基于Wave的应用迅速出现。

20090529-google_wave_inbox_add-630x443

不知道通过我们的描述,大家是否搞明白了Wave到底是个什么东西了吗?其实很多东西都是自己上手试一下就知道,遗憾的是,目前Google Wave将只对开发者开放,如果你的Wave感兴趣的话可以尝试到Google Wave登记以便得到最新的Wave信息。

以下是I/O大会上关于Wave的完整视频,长达80分钟,请大家欣赏。

via google.org.cn

  • Facebook
  • Twitter
  • Share/Bookmark

不能败在细节之3:各种PHP算法实现

Posted in Develop, PHP on 五月 27th, 2009 by corrie – Be the first to comment

冒泡排序一维数组:

< ?php
function BubbleSort($str)
{
for ($i=0;$i {
for ($j=count($str)-2;$j>=$i;$j–)
{
if($str[$j+1]< $str[$j])
{
$tmp = $str[$j+1];

$str[$j+1]=$str[$j];
$str[$j]=$tmp;
}

}

}
return $str;
}
$str = array(3,6,1,5,9,0,4,6,11);
print_r(BubbleSort($str));
?>

陆续增加中。。。

  • Facebook
  • Twitter
  • Share/Bookmark

内联脚本的位置对性能的影响

Posted in Collation, Java on 五月 25th, 2009 by corrie – 3 Comments

原文

Steve Souders: Positioning Inline Scripts. 好文无需废话,推荐仔细阅读。

测试

值得注意的一个结论:

要避免将内联脚本放在样式表和页面其它资源之间,这非常重要。这会使得看起来像是样式表阻塞了后续资源的下载。这种行为的原因是:所有主流浏览器都会保持 CSS和JavaScript的顺序。在样式表完全下载、解析及应用之后,内联脚本才能执行。同时,必须在内联脚本执行后,剩余资源才能下载。这就使得, 放在样式表和内联脚本之后的资源,下载被阻塞了。

内联脚本放在样式表之前,样式表和脚本的下载是并发的:
inline_script_position1.png

测试页面A:inline_script_position_test1.html

内联脚本放在样式表之后,会导致后续资源的下载被阻塞:
inline_script_position2.png

测试页面B:inline_script_position_test2.html

页面A和页面B的唯一区别就是,内联脚本的位置放在样式表前面,但就这么简单的一个位置调整,能节省约100ms下载时间。

实战

来看淘宝网首页的源代码片段:
inline_script_position3.png

第15行的内联脚本,放在第11行的样式表后面,直接导致了下面这张timeline:
inline_script_position4.png
在tbsp.css没下载完之前,所有资源的下载都阻塞掉了!

仅要将第15行的内联脚本放到样式表前面,立刻就能提速100多ms.(注:淘宝首页正在做性能优化,这个调整将很快实施)

目前eBay, Amazon等大型站点的首页也存在此问题。国内站点看了下有啊和拍拍。有啊的都外链,没问题(感叹百度的硬件,不在乎多几个HTTP链接数)。拍拍的则都内联,因此也没问题(看完有啊看拍拍,有点怪怪的,说不出来的感觉)。

结尾

页面编码时,在head里,习惯性先写style再写script. 以后遇上inline script时,还是得调整下位置,放到style前面去。

  • Facebook
  • Twitter
  • Share/Bookmark

确认:美国 T-mobile 终于开始为 HTC Dream G1 推送 Android 1.5 (Cupcake) 新系统

Posted in Collation, Recomment on 五月 25th, 2009 by corrie – Be the first to comment

在经历了一次一次的跳票之后,美国T-mobile终于为HTC Dream G1用户放出看了被称为Cupcake的Android 1.5系统。

如果你等不及官方推送也可点此直接下载。但手动升级的方式T-mobile官方并不支持,稍微有点风险,需要具备一定的动手能力。

手动升级步骤:

  1. 将下载下来的xxx.zip重命名为update.zip
  2. 把update.zip传输到G1使用的MicroSD卡里,根目录
  3. 完全关闭你的G1
  4. 按住Home和电源键直到引导程序出现
  5. 用G1键盘输入Alt+L进入引导程序命令行终端
  6. 按Alt+S确认
  7. 升级完毕后你还需要按住Home和Back键进行手动重启(注意这次不是按电源键)

耐心点,首次开机需要2-4分钟呢,即便启动结束后你依然会有2分钟感觉操作很慢,之后就正常了。整个升级过程大概需要20分钟。

  • Facebook
  • Twitter
  • Share/Bookmark

准备辞职了

Posted in Me on 五月 25th, 2009 by corrie – 4 Comments

在桃浦这么久发生了很多事,把自己弄的很消极了。我想着我的理想,相去甚远,不能再这样了,我准备辞职了,而且很坚决,加工资也不回留的。去找属于我的团队。在这个公司做了很多事,也经历了很多,觉得自己学到的还是太少。而且能力发挥受限,一身的痒痒。

  • Facebook
  • Twitter
  • Share/Bookmark

谷歌(Google)一周动态播报[5.3-5.10]

Posted in Collation, Google, News on 五月 15th, 2009 by corrie – Be the first to comment

[5.3] 揭秘谷歌图书扫描机:实现批量化图书扫描
谷歌秘制的图书扫描机,该专利揭示了谷歌图书扫描机的工作原理。在1999年谷歌创 办前,图书扫描过程冗长,但也曾被认为将导致图书消亡,图书扫描软件称之为光学字符识别软件(OCR),该软件要求扫描的每页图书需平 整放置。因此,一种方法是将图书一页页打开放在玻璃面板上,进行扫描,或是毁掉图书的装订,但这也会破坏图书,如何使图书扫描即高效又不对其造成破坏成为 一大难题,从美国第7508978号专利来看,谷歌的图书扫描机解决了这一大难题。

[5.4] 谷歌Android侵权官司有望获胜 诉方有致命缺陷
谷歌和其它47家公司及组织涉嫌侵犯其拥有的Android商标权,施佩希特称自2002年起随着Android数据公司成立,他 就拥有了Android商标,但业界认为,该公司历史出现5年空白,谷歌有望在这场管司中获胜.以下是文章主要内容:美国伊利诺斯州程序开发员、Android数据公司创始人施佩希特起诉谷歌、开放手机联盟(the Open Handset Alliance)、T-Mobile和其它45家公司,指控其涉嫌侵犯了商标权.考虑到开发、支持和销售谷歌Android手机造成的给其开来的损失, 施佩希特开出的赔偿金高达1亿美元.

[5.5] 5个便捷的Google高级搜索工具
感谢谷奥(google.org.cn)的投递 除去标准的Google.com的标准搜索框外,Google还提供高级搜索功能,但是这个高级搜索看起来似乎有点复杂,让人摸不到头脑。 本文就来介绍几个可以让大家轻松使用Google高级搜索的工具。

[5.5] Google Latitude整合到Gmail及博客
Google 周一为地理位置服务Google Latitude推出两项新的应用,分别为Google Talk位置状态,及Google公共位置徽章.前者帮助用户使用Latitude自动更新Gmail和GTalk的聊天状态信息,后者则能帮助用户在博 客或网站上发布Latitude位置.Google Latitude是一种基于Google手机地图的服务,允许用户通过手机的GPS或基站定位功能向好友发布当前位置.Google表示,自 Latitude推出以来,许多用户希望公开发布位置状态,而不仅仅是面向好友.这两项新应用能够做到这一点

[5.6] 英国Google推出纪念皇家植物园250周年doodle
感 谢谷奥(google.org.cn)的投递 5月4日是英国皇家植物园250周年纪念,Google.co.uk特为其推出纪念doodle。英国皇家植物园——邱园位于伦敦西南部的泰晤士河南岸, 被联合国指定为世界文化遗产。邱园始建于1759年,原本是英皇乔治三世的皇太后奥格斯汀公主 (Augustene)一所私人皇家植物园,起初只有3.6公顷,经过200多年的发展,已扩建成为有120公顷的规模宏大的皇家植物园,加上1965年 在距邱园50公里的苏沙斯(Sussex)区开辟了一个240公顷的Wakehurst卫星植物园,主园加卫星园共有360公顷,成为规模巨大的世界级植 物园。

[5.6] Gmail将支持邮件推送至黑莓
谷歌服务将允许黑莓用户使用BES(BlackBerry Enterprise Software)推送Gmail邮件或日历信息。这项服务包含在谷歌软 件高级版及教育版中,它可以在用户所发短信上显示用户所在企业的Gmail帐号。 更有意义的是,用户还可以通过手机进入公司地址薄,并将这个地址薄复制到本机。而能够实现这项功能的BES(BlackBerry Enterprise Software)目前已经在Beta测试阶段。

[5.6] Google神秘服务器大公开
服 务器上装电池、使用技嘉主板、数据中心以货柜为单位,每箱里面有1160台服务器…在经济不景气当道的年代,Google要分享自家数据中心的省钱 方式。Google对于自家电脑计算一向口风很紧,但上个月则首度在一场会议中做了展示,谈论有关数据中心用电效率的议题。大部分企业都会跟诸如戴尔、惠 普、IBM或Sun购买服务器。不过Google所拥有的数十万台服务器都是自己设计打造来的,Google认为 这是公司的核心技术之一。参与过许多Google服务器设计的Ben Jai(翟本乔)则在众人面前展示一款现代的Google服务器。

[5.7] [视频]200秒游历Google总部
感 谢谷奥(google.org.cn)的投递 Google的总部Googleplex(这是一个Google和complex的自创复合词)位于美国加州Moutain View,Amphitheatre Parkway 1600号,包括超过20幢建筑物,数千名Google员工和超过200条狗在这里生活。在Googleplex中你可以发现最新的技术,有意思的活动, 健康的食物,环保的原料和大学校园一样的气氛。下面这段视频用200秒的时间向大家展示了Googleplex,我们看到了大厅中滚动显示来自全球搜索用 户的最新关键字,穿梭自行车,1999年的Google服务器免费的食物,可再生材料为原料的楼梯,太阳能发电板,台球桌,咖啡厅,健身房,从英国搬来的 电话亭,沙滩排球场,太空船(?!)还有……暴龙…

[5.8] Google 新闻发布日[2009股东年会直播]
感 谢谷奥(google.org.cn)的投递 2009年Google股东年会已于美国东部时间5月7日下午两点开始举行,出席Google股东年会并回答问题的包括有主席兼CEO Eric Schmidt,企业开发部门高级副总裁兼首席法务官David Drummond,搜索部门高级副总裁兼用户体验官Marissa Mayer,以及产品高级副总裁Susan Wojcicki。

[5.9] Google发布红字批改版白皮书 否认垄断
Google最近提供了一份用红字批改的简报,反对消费者组织Consumer Watchdog对他们的垄断指控. 旁边红字成为亮点,Google用一贯的风格半开玩笑地阐述他们的观点,以减轻华盛顿的议员们对他们的“邪恶”印象.

[5.10] [突发]Google摩洛哥分站被黑
突发消息,Google摩洛哥分站被黑!黑客在其首页上留下了地址和联系方式,并注明“Cyber-Criminal Was Here”(网络犯罪就在这里)的口号,并提供了组织的链接。具体原因迄今不详

最近身体不适发布晚了。见谅!

  • Facebook
  • Twitter
  • Share/Bookmark

AmfPHP介绍及资源

Posted in Me, PHP on 五月 15th, 2009 by corrie – Be the first to comment

Amfphp 是PHP的RPC工具,它可以使PHP与下述技术无缝通信:

  • Flash 和 Flex Remoting
  • JavaScript JSON 和 Ajax JSON
  • XML 和XML-RPC

一、什么是RPC?

远端程序调用(RPC, Remote Procedure Call) 是一种客户端与服务器端交换数据方式。我们可以调用本地对象的带有不同参数的方法 ,设置回调并接受调用结果。我们不用关心发送和接收数据的实现细节。实现细节通常是抽象的, 就像我们在调用本地方法一样.

二、工作原理

客户端(Flash)与服务器端(php), 使用相同的方式描述方法调用和复杂数据。客户端序列化请求并将它发送到网关Amfphp。Amfphp再执行:

  • 反序列化请求
  • 找到相应的远程服务类
  • 实例化类
  • 执行安全检查
  • (使用指定参数)调用服务器端方法
  • 序列化返回的数据

Amfphp 可以正确地序列化、反序列化复杂类型数据。除了对象和数组,它还支持数据连接资源,这就意味着我们可以通过调用远程方法简单返回 mysql_query,amfphp 会处理这一切。 如果平台支持 (目前来说,Flash Remoting 和Flex Remoting), phpamf还可以处理循环引用和自定义数据。 它也支持简单的远程调试。还有amfphp 附带一个服务浏览器,它可以在创建客户端代码前测试远程服务。amfphp 1.0.1还添加了模板,可以自动生成客户端代码。Amfphp 1.9 beta更是新增了对AMF3的支持。详见http://www.riafan.com/article.asp?id=31

三、教学资源

1. 英文

  • Facebook
  • Twitter
  • Share/Bookmark

网页中HTTP请求图片分析

Posted in Collation, PHP on 五月 13th, 2009 by corrie – Be the first to comment

请在主流浏览器中打开测试页面,在Fiddler里查看http请求。

1. 隐藏图片

<img src="1.jpg" style="display: none" />

测试:test_1.html
结论:只有Opera不产生请求。
注意:用visibility: hidden隐藏图片时,在Opera下也会产生请求。

2. 重复图片

<img src="1.jpg" />
<img src="1.jpg" />

测试:test_2.html
结论:所有浏览器都只产生一次请求。

3. 重复背景

<style type="text/css">
    .test1 { background: url(1.jpg) }
    .test2 { background: url(1.jpg) }
</style>
<div class="test1">test1</div>
<div class="test2">test2</div>

测试:test_3.html
结论:所有浏览器都只产生一次请求。

4. 不存在的元素的背景

<style type="text/css">
    .test1 { background: url(1.jpg) }
    .test2 { background: url(2.jpg) } /* 页面中没有class为test2的元素 */
</style>
<div class="test1">test1</div>

测试:test_4.html
结论:背景仅在应用的元素在页面中存在时,才会产生请求。这对CSS框架来说,很有意义。

5. 隐藏元素的背景

<style type="text/css">
    .test1 { background: url(1.jpg); display: none; }
    .test2 { background: url(2.jpg); visibility: hidden; }
</style>
<div class="test1">test1</div>

测试:test_5.html
结论:Opera和Firefox对于用display: none隐藏的元素背景,不会产生HTTP请求。仅当这些元素非display: none时,才会请求背景图片。

6. 多重背景

<style type="text/css">
    .test1 { background: url(1.jpg); }
    .test1 { background: url(2.jpg); }
</style>
<div class="test1">test1</div>

测试:test_6.html
结论:除了基于webkit渲染引擎的Safari和Chrome,其它浏览器只会请求一张背景图。
注意:webkit引擎浏览器对背景图都请求,是因为支持CSS3中的多背景图

7. hover的背景加载

<style type="text/css">
    a.test1 { background: url(1.jpg); }
    a.test1:hover { background: url(2.jpg); }
</style>
<a href="#" class="test1">test1</a>

测试:test_7.html
结论:触发hover时,才会请求hover状态下的背景。这会造成闪烁,因此经常放在同一张背景图里通过翻转来实现。
注意:在图片no-cache的情况下,IE每次hover状态改变时,都会产生一次新请求。很糟糕。

8. JS里innerHTML中的图片

<script type="text/javascript">
    var el = document.createElement('div');
    el.innerHTML = '<img src="1.jpg" />';
    //document.body.appendChild(el);
</script>

测试:test_8.html
结论:只有Opera不会马上请求图片。
注意:当添加到DOM树上时,Opera才会发送请求。

9. 图片预加载

最常用的是JS方案:

<script type="text/javascript">
    new Image().src = '1.jpg';
    new Image().src = '2.jpg';
</script>

在无JS支持的环境下,可以采用隐藏元素来预加载:

<img src="1.jpg" style="visibility: hidden; height: 0; width: 0" />

测试:test_9.html

终于到总结了

  1. 对于隐藏图片和隐藏元素的背景,Opera不会产生请求。
  2. 对于隐藏元素的背景,Firefox也不会产生请求。
  3. 对于尚未插入DOM树的img元素,Opera不会产生请求。
  4. 基于webkit引擎的Safari和Chrome,支持多背景图。
  5. 其它情景,所有主流浏览器保持一致。

对图片请求的处理上,个人觉得Opera走在前列。

番外

1. 用Fiddler监控Opera时,如果是本地服务器,需要在Opera的代理服务器设置里,将本地服务器勾选上。

2. 查看HTTP请求数,还有一个万无一失的方法是,直接查看Apache的access.log文件。

3. 我的Firefox对于重复图片和重复背景,会产生重复请求。禁用了所有扩展,问题依旧。有知详情者,还望告知。

(via 岁月如歌

  • Facebook
  • Twitter
  • Share/Bookmark

转:5.12,用爱点亮烛光

Posted in Me on 五月 12th, 2009 by corrie – Be the first to comment

在汶川大地震一周年纪念的日子,谷歌员工自发在内部网页上点然烛光,向逝者致哀,为生者祈福:
20090512-google-china-512-candle

一年前,当灾难发生的时候,在震惊、悲伤之余,谷歌员工第一时间行动起来,为灾区募捐,为医院献血,做力所能及的一切。一年后,当我们再次回首那一 段凝重、悲伤但又充满坚强与自信的日子,“谷歌三分钟”的感人曲线仍历历在目,谷歌全球员工的真心祈愿仍在耳边回响……一年来,灾区人坚强而乐观地面对新 的生活;一年来,谷歌人在“一个鸡蛋(http://www.yigejidan.org/)”等各种公益活动中表达着自己对社会的责任与关爱……

无论是痛苦还是欢乐,无论经历着怎样的生活,谷歌人始终相信,爱,可以为我们带来更多的希望!

via Google黑板报

  • Facebook
  • Twitter
  • Share/Bookmark
Pages: 1 2 Next»