要弄明白气候变化的解决办法,我们有一段很明显但有限的时间来行动。对于我们的领导人而言,未来的18个月将是关键。萨里木尔·胡克就此作出解释。
气候变化是人类面临的最大挑战,全球的领导人和公民能够而且必须正视这一事实,并着手予以解决,他们有三个不同的行动期限。
第一个时间段最长,跨度为未来的50-100年,是我们子辈和孙辈的时间期限。如果温室气体排放在这一时期持续不减,那么全球温度将上升好几度,给全球带来灾难性的影响,包括严重的海平面上升和更加致命的热浪、旱灾、洪灾及强度更大的飓风。
我们可以限制这些影响,但前提是我们现在就行动。我们需要减低大气中的温室气体的浓度,继而使其退回到安全的水平。这需要减少资源浪费、避免森林砍伐、提高能效,以及更多地使用风能和太阳能等可再生能源。在未来的几十年里,如果我们要避免灾难发生,那么美国和中国这两个最大的排放国及其他主要的排放国,包括发达国家和发展中国家,必须现在就采取行动。
第二个时间段是未来的20年,属于这一代的时间期限。在这一时期,全球温度已不可避免地至少上升1摄氏度。即使全球所有的排放明天奇迹般停止,大气中已积累了足够的温室气体,这意味着某种程度的气候变化是无法避免的。
最脆弱的国家包括50个最不发达国家、小的发展中岛国和非洲的多数国家。这三个类别包含了近100个国家(有些国家可分属不同的类别),总人口近10亿。这些国家总共的温室气体排放量不及全球总量的3%,但它们 无疑将遭受气候变化带来的最为不利的影响。
当然,它们不会是唯一的受害者,在中国和印度等更为富裕的发展中国家,甚至在最富裕的国家还有为数众多的脆弱群体,2006年8月经历了卡特里娜飓风的新奥尔良贫困社区就是明证。
脆弱的国家和社区必须通过适应来为气候变化的影响做准备,而且需要获得帮助。富裕一些的国家必须为其导致的问题承担责任,它们可以帮助更脆弱的国家,主要是通过资助,但也通过分享技术和专业知识等其它手段提供帮助。
对富裕公民(无论是在富国还是穷国)的挑战,就是将他们自己从不假思索的消费者转变为有觉悟的全球公民。他们必须认识到他们的责任,而后努力减少自己的个人碳足迹。而且,他们必须敦促他们的领导人制定必要的长期政策并补偿气候变化的受害者。
最后,全球领导人的时间期限是未来的18个月。这段时间正是《联合国气候变化框架公约》192个缔约方在哥本哈根开会以达成接替《京都议定书》的协议之前所剩的时间。
从现在到2009年12月会议召开,总统们、总理们和政府部长们必须就一个公正和公平的全球协议的基本原则达成一致,这一协议将在上述两个期限内处理气候变化问题。这意味着一方面通过迅速减少温室气体排放来减缓气候变化,一方面适应未来气候变化的影响。
为取得成功,我们的领导人必须抛开他们当前的思想倾向,即力争达成对他们自己的国家和公民最有利的协议。他们不仅仅是代表自己的国家,而且代表整个的人类,他们是在为留给其子孙后代什么样的世界而进行协商。
解决办法掌握在所有国家的领导人手中,特别是那些排放了大多数温室气体并导致问题的主要经济体领导人。但是,公民也有责任采取个人和政治行动,尤其是那些更富裕国家的公民和更贫困国家的富裕公民。
我们的领导人必须接受挑战,所有有觉悟的公民必须敦促他们迎难而上。
萨里木尔·胡克是国际环境与发展学会气候变化小组组长,政府间气候变化专门委员会最近报告的主笔。
早上哪吒弹出来的消息有一半都是关于Twitter 收购Summize的,虽然交易细节不会公布,但是这宗显然不大的收购事件确实让人们都很关注。原因很简单,Twitter的核心架构已经越来越完善(希望如此),正在走向外围的各种服务,并期待产生更多的商业模型。
这是一个典型的技术趋势驱动的创业案例。从最早的试验产品到如今,我不仅是用户,还和Twitter团队进行实际的交流,已经看到这个大趋势的形成。过去人们还在着急Twitter 如何能够盈利,其实完全不必担心,因为这个核心计算模式的形成,会在周边形成大量的混搭应用。而这些混搭应用创造的情景已经可以和真实世界刹那生经济往来,这意味着盈利。
那么多次大家对Twitter都能够容忍它的速度、当机、乱套,都是因为其中隐藏的巨大诱惑力,那就是普世的“思想外泄”(Leak of Mind)。只有思想不断地泄露,才会有分享主义,才会产生社会性媒体的密集管道,才会形成巨大的微经济生态体系,微观的共同人性会有大数效应。围绕Twitter这个吸引子的商业应用会逐步外旋到各个领域,也会出现无数的新分裂(例如最近也很红火的Plurk)。关键的问题是如何打造一个技术服务架构,让未来能够更加稳固,这一点Twitter做的不算差。未来围绕Twitter应用的投资大幕还会进一步拉开...
我们改善了对所有类型SWF文件中的文字内容的索引能力,其中包括像按钮或菜单这样的Flash“小工具”,独立自成一体的 Flash 网站,以及所有介于两者之间的Flash形式。
问:这些Flash文件中的哪些内容能被谷歌更好地索引呢?
用户在与您的Flash文件互动过程中所看到的一切文本内容都将得到更好地索引。如果您的网站包含Flash,其中的文字内容会被Google用来生成您网站的摘要。同时,出现在Flash文件中的文字可以用来匹配用户在Google搜索框中输入的搜索查询。
除了索引Flash文件中的文本内容,我们现在也能够识别在Flash文件中的出现的URL,并且把这些链接纳入搜索引擎机器人爬行的目标队列中,就像对待那些非Flash网页中出现的URL一样。例如,如果您的Flash 应用程序中包含指向您网站内部页面的链接,Google现在能够更好地发现并抓取您的网站。
问:那么Flash文件中包含的非文本内容呢,比如图片?
目前,我们只能识别和索引Flash文件中的文本内容。如果您的Flash文件里只有图片,我们将不能识别和索引出现在这些图片中的任何文字。类似地,如果一个Flash按钮没有任何附属的文字的话,我们将无法对这类指向特定链接的Flash按钮生成任何錨文本。
还应注意到的是,我们无法索引 FLV 文件,比如在 YouTube 上播放的视频,因为这些文件没有包含任何文字元素。
问: Google是怎样识别Flash文件里的内容呢?
我们开发出了一种算法,这种算法可以使Google机器人能够模仿人类通过点击按钮、输入内容等方式来了解Flash文件。我们的算法能够记住沿途它遇到的所有文字内容,其后这些内容都能被索引到。我们无法告诉您更多的保密细节,但是我们可以告诉您,通过使用Adobe的新型可检索性SWF数据库,这种算法的有效性得到了进一步提高。
问:我怎样做才能使Google索引到我的Flash文件中出现的文本呢?
基本上,您不需要做任何事情。我们已经取得的技术改进,使这项功能的实现,无需网页设计者或网站管理员做任何特别的操作。如果您的网站上有Flash内容,我们会在现有技术能力的基础上,尽最大能力对它们自动进行索引(详见接下来的问题)。
也就是说,您应该了解 Google现在已经可以识别那些展现在您网站访问者面前的文字信息。如果你希望 Google忽略一些次要内容,如"版权"或"加载"等信息,您可以考虑把那些文本替换为图片,这样它们就不会被我们抓取到了。
问:在索引Flash文件上,Google遇到的主要技术难题是什么?
目前的问题主要体现在三个方面,这也正是我们在努力解决的:
1、Googlebot不能执行某些类型的JavaScript程序。因此,如果您的网页通过
JavaScript加载Flash文件的话,Google可能无法识别该Flash文件,在这种情况
下,它将不会被索引到。
2、目前,我们还无法把那些通过您的Flash文件加载的外来内容和您的Flash文件整合起来。也就是说,如果您的Flash文件加载了一个HTML文件,或一个XML文件,或另一个SWF文件等等,Google将分别索引这些资源,但是它们将不会被认为是您Flash文件内容的一部分。
3、虽然我们能够索引在网络上出现的几乎所有语种的Flash,但在识别用双向语言书写的Flash内容还有一定困难。在这个问题解决之前,我们将无法识别和索引Flash文件中的希伯来文或阿拉伯文的内容。
但是,在这些问题上我们也已经取得了相当的进展,所以,敬请期待我们进一步的改进!
附:
改进之前搜索结果中的Flash网站
改进之后搜索结果中的Flash网站, 搜索查询 [nasa deep impact animation]
下面是《memcached全面剖析》的第三部分。
发表日:2008/7/16
作者:前坂徹(Toru Maesaka)
原文链接:http://gihyo.jp/dev/feature/01/memcached/0003
memcached是缓存,所以数据不会永久保存在服务器上,这是向系统中引入memcached的前提。 本次介绍memcached的数据删除机制,以及memcached的最新发展方向——二进制协议(Binary Protocol) 和外部引擎支持。
上次介绍过, memcached不会释放已分配的内存。记录超时后,客户端就无法再看见该记录(invisible,透明), 其存储空间即可重复使用。
memcached内部不会监视记录是否过期,而是在get时查看记录的时间戳,检查记录是否过期。 这种技术被称为lazy(惰性)expiration。因此,memcached不会在过期监视上耗费CPU时间。
memcached会优先使用已超时的记录的空间,但即使如此,也会发生追加新记录时空间不足的情况, 此时就要使用名为 Least Recently Used(LRU)机制来分配空间。 顾名思义,这是删除“最近最少使用”的记录的机制。 因此,当memcached的内存空间不足时(无法从slab class 获取到新的空间时),就从最近未被使用的记录中搜索,并将其空间分配给新的记录。 从缓存的实用角度来看,该模型十分理想。
不过,有些情况下LRU机制反倒会造成麻烦。memcached启动时通过“-M”参数可以禁止LRU,如下所示:
$ memcached -M -m 1024
启动时必须注意的是,小写的“-m”选项是用来指定最大内存大小的。不指定具体数值则使用默认值64MB。
指定“-M”参数启动后,内存用尽时memcached会返回错误。 话说回来,memcached毕竟不是存储器,而是缓存,所以推荐使用LRU。
memcached的roadmap上有两个大的目标。一个是二进制协议的策划和实现,另一个是外部引擎的加载功能。
使用二进制协议的理由是它不需要文本协议的解析处理,使得原本高速的memcached的性能更上一层楼, 还能减少文本协议的漏洞。目前已大部分实现,开发用的代码库中已包含了该功能。 memcached的下载页面上有代码库的链接。
协议的包为24字节的帧,其后面是键和无结构数据(Unstructured Data)。 实际的格式如下(引自协议文档):
Byte/ 0 | 1 | 2 | 3 | / | | | | |0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7| +---------------+---------------+---------------+---------------+ 0/ HEADER / / / / / / / +---------------+---------------+---------------+---------------+ 24/ COMMAND-SPECIFIC EXTRAS (as needed) / +/ (note length in th extras length header field) / +---------------+---------------+---------------+---------------+ m/ Key (as needed) / +/ (note length in key length header field) / +---------------+---------------+---------------+---------------+ n/ Value (as needed) / +/ (note length is total body length header field, minus / +/ sum of the extras and key length body fields) / +---------------+---------------+---------------+---------------+ Total 24 bytes
如上所示,包格式十分简单。需要注意的是,占据了16字节的头部(HEADER)分为 请求头(Request Header)和响应头(Response Header)两种。 头部中包含了表示包的有效性的Magic字节、命令种类、键长度、值长度等信息,格式如下:
Request Header Byte/ 0 | 1 | 2 | 3 | / | | | | |0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7| +---------------+---------------+---------------+---------------+ 0| Magic | Opcode | Key length | +---------------+---------------+---------------+---------------+ 4| Extras length | Data type | Reserved | +---------------+---------------+---------------+---------------+ 8| Total body length | +---------------+---------------+---------------+---------------+ 12| Opaque | +---------------+---------------+---------------+---------------+ 16| CAS | | | +---------------+---------------+---------------+---------------+
Response Header Byte/ 0 | 1 | 2 | 3 | / | | | | |0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7| +---------------+---------------+---------------+---------------+ 0| Magic | Opcode | Key Length | +---------------+---------------+---------------+---------------+ 4| Extras length | Data type | Status | +---------------+---------------+---------------+---------------+ 8| Total body length | +---------------+---------------+---------------+---------------+ 12| Opaque | +---------------+---------------+---------------+---------------+ 16| CAS | | | +---------------+---------------+---------------+---------------+
如希望了解各个部分的详细内容,可以checkout出memcached的二进制协议的代码树, 参考其中的docs文件夹中的protocol_binary.txt文档。
看到HEADER格式后我的感想是,键的上限太大了!现在的memcached规格中,键长度最大为250字节, 但二进制协议中键的大小用2字节表示。因此,理论上最大可使用65536字节(2<sup>16</sup>)长的键。 尽管250字节以上的键并不会太常用,二进制协议发布之后就可以使用巨大的键了。
二进制协议从下一版本1.3系列开始支持。
我去年曾经试验性地将memcached的存储层改造成了可扩展的(pluggable)。
MySQL的Brian Aker看到这个改造之后,就将代码发到了memcached的邮件列表。 memcached的开发者也十分感兴趣,就放到了roadmap中。现在由我和 memcached的开发者Trond Norbye协同开发(规格设计、实现和测试)。 和国外协同开发时时差是个大问题,但抱着相同的愿景, 最后终于可以将可扩展架构的原型公布了。 代码库可以从memcached的下载页面 上访问。
世界上有许多memcached的派生软件,其理由是希望永久保存数据、实现数据冗余等, 即使牺牲一些性能也在所不惜。我在开发memcached之前,在mixi的研发部也曾经 考虑过重新发明memcached。
外部引擎的加载机制能封装memcached的网络功能、事件处理等复杂的处理。 因此,现阶段通过强制手段或重新设计等方式使memcached和存储引擎合作的困难 就会烟消云散,尝试各种引擎就会变得轻而易举了。
该项目中我们最重视的是API设计。函数过多,会使引擎开发者感到麻烦; 过于复杂,实现引擎的门槛就会过高。因此,最初版本的接口函数只有13个。 具体内容限于篇幅,这里就省略了,仅说明一下引擎应当完成的操作:
对详细规格有兴趣的读者,可以checkout engine项目的代码,阅读器中的engine.h。
memcached支持外部存储的难点是,网络和事件处理相关的代码(核心服务器)与 内存存储的代码紧密关联。这种现象也称为tightly coupled(紧密耦合)。 必须将内存存储的代码从核心服务器中独立出来,才能灵活地支持外部引擎。 因此,基于我们设计的API,memcached被重构成下面的样子:
重构之后,我们与1.2.5版、二进制协议支持版等进行了性能对比,证实了它不会造成性能影响。
在考虑如何支持外部引擎加载时,让memcached进行并行控制(concurrency control)的方案是最为容易的, 但是对于引擎而言,并行控制正是性能的真谛,因此我们采用了将多线程支持完全交给引擎的设计方案。
以后的改进,会使得memcached的应用范围更为广泛。
本次介绍了memcached的超时原理、内部如何删除数据等,在此之上又介绍了二进制协议和 外部引擎支持等memcached的最新发展方向。这些功能要到1.3版才会支持,敬请期待!
这是我在本连载中的最后一篇。感谢大家阅读我的文章!
下次由长野来介绍memcached的应用知识和应用程序兼容性等内容。
随着2008年奥运会的临近,北京烟雾弥漫的天空引发了运动员们对中国首都空气污染的担忧。驻在北京的摄影记者韶华拍摄了一组令人难忘的照片来说明这一问题。
世界上污染最严重的20个城市中有16个在中国。中国有5亿多的城镇人口,他们中的很多人生活在如首都北京一样空气受严重污染的环境中。在这些城市中,大众的健康也因此而受到损害。
据美联社报道,联合国环境署的官员埃里克•佛特去年10月就指出说,煤炭的大量使用,城市的地理位置,以及汽车数量的大量增长,所有这些意味着北京空气质量改善的速度不会很快。他还说,特别令人担忧的是大气中的颗粒物含量,这是对公众健康造成危害的最大因素。
世界卫生组织的空气污染指数是对大气中化学物质的浓度和尘粒的测量。世界卫生组织同时建议空气污染指数的每日最大安全值为50。然而2008年5月北京的每日空气污染指数的平均值却为131。其中,5月27号的该数值更是达到了463的峰值,这也是世界卫生组织所公布的安全指数标准的9倍多!
北京奥运会日益邻近,人们,特别是运动员,也越来越关注北京的空气质量。他们中甚至有人建议在比赛的时候戴口罩,在别的不同的国家进行赛前训练,或甚至是退出比赛项目等。
不论奥运会前或者期间将会发生怎样的改变,该运动会结束后,北京的居民还将继续生活在烟雾弥漫的天空之下。中国环境规划院说,在2003年,中国有40多万人因空气污染而过早死亡。
韶华(SEAN GALLAGHER)是一位来自英国的摄影师,现居在北京。他的拍摄工作重点是亚洲的环境和社会问题,其中以中国为重点。了解更多他的作品,请浏览个人主页http://www.gallagher-photo.com/
七月 2008 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 日 |
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |