12:12 10 More Rules for Even Faster Websites » High Scalability - Building bigger, faster, more reliable websites.

Update:How-To Minimize Load Time for Fast User Experiences. Shows how to analyze the bottlenecks preventing websites and blogs from loading quickly and how to resolve them.

80-90% of the end-user response time is spent on the frontend, so it makes sense to concentrate efforts there before heroically rewriting the backend. Take a shower before buying a Porsche, if you know what I mean. Steve Souders, author of High Performance Websites and Yslow, has ten more best practices to speed up your website:

  • Split the initial payload
  • Load scripts without blocking
  • Don’t scatter scripts
  • Split dominant content domains
  • Make static content cookie-free
  • Reduce cookie weight
  • Minify CSS
  • Optimize images
  • Use iframes sparingly
  • To www or not to www

    Sadly, according to String Theory, there are only 26.7 rules left, so get them while they're still in our dimension.

    Here are slides on the first few rules. Love the speeding dog slide. That's exactly what my dog looks like traveling down the road, head hanging out the window, joyfully battling the wind.

    Also see 20 New Rules for Faster Web Pages.

  • 11:42 Paper: Optimistic Replication » High Scalability - Building bigger, faster, more reliable websites.

    To scale in the large you have to partition. Data has to be spread around, replicated, and kept consistent (keeping replicas sufficiently similar to one another despite operations being submitted
    independently at different sites). The result is a highly available, well performing, and scalable system.

    Partitioning is required, but it's a pain to do efficiently and correctly. Until Quantum teleportation becomes a reality how data is kept consistent across a bewildering number of failure scenarios is a key design decision.

    This excellent paper by Yasushi Saito and Marc Shapiro takes us on a wild ride (OK, maybe not so wild) of different approaches to achieving consistency.

    What's cool about this paper is they go over some real systems that we are familiar with and cover how they work: DNS (single-master, state-transfer), Usenet (multi-master), PDAs (multi-master, state-transfer, manual or application-specific conflict resolution), Bayou (multi-master, operation-transfer, epidemic propagation, application conflict resolution), CVS (multi-master operation-transfer, centralized, manual conflict resolution).

    The paper then goes on to explain in detail the different approaches to achieving consistency. Most of us will never have to write the central nervous system of an application like this, but knowing about the different approaches and tradesoffs is priceless.

    The abstract:

    read more

    Event Tracking Guide - Google Analytics - Google Codecode.google.com » 车东's shared items in Google Reader
    Shared by Dash
    使用Google Analytics分析用户事件

    Event Tracking Guide

    Contents

    1. Setting Up Event Tracking
    2. Anatomy of Event Tracking
      1. Categories
      2. Actions
      3. Labels
      4. Values
      5. Implicit Count
    3. Implementation Considerations

    Setting Up Event Tracking

    Setting up Event Tracking involves two basic steps.

    1. Make sure you have implemented tracking for your website using the ga.js tracking code. For information on setting this up, see the "Generic Setup" section under the Tracking Sites guide.
    2. For each web page object or element you want to track with Event Tracking, call the _trackEvent() method in the source code of that object. The rest of this guide describes the best practices for using this method.

    To view event tracking results, choose Event Tracking from the Content section of your reports.

    Insert this method in the source code for your video, gadget, or other web object. The specification for the _trackEvent() method is:

    _trackEvent(category, action, optional_label, optional_value)

    Anatomy of Event Tracking

    The Event Tracking data model has the following components which map directly to elements in the Analytics Reports interface:

    A simple example illustrates how you might use the Event Tracking method to record user interaction with a video Play link on your page. It assumes that pageTracker is the name used for your tracking object.

    <a href="#" onClick="pageTracker._trackEvent('Videos', 'Play', 'Baby\'s First Birthday');">Play</a>

    In this scenario, the reports for Events would display Videos as the Category, Play as the Action, and Baby's First Birthday as the Label. The rest of this document describes these components in detail. Bear in mind that when you implement Event Tracking, you can use this data model as a guide, or you can simply use the _trackEvent() method to segment user interaction in any way that works for your data.

    Back to Top

    Categories

    For Event Tracking, a category is a name that you supply as a way to group objects that you want to track. It is the first parameter used in the _trackEvent() method and it is required.

    The term Category appears in the reporting interface as Top Categories in the Events Overview page. In this model, a category represents the "root level" of the hierarchical structure of Event Tracking, and you can use that structure in any way suitable to your reporting needs. Typically, you will use the same category name multiple times over related UI elements that you want to group under a given category.

    For example, you might track user interaction on three separate controls on a single video interface using:

    pageTracker._trackEvent("Videos", "Play", "Gone With the Wind");pageTracker._trackEvent("Videos", "Pause", "Gone With the Wind");pageTracker._trackEvent("Videos", "Stop", "Gone With the Wind");

    Suppose you also want to track how many times the video is downloaded. You could use:

    pageTracker._trackEvent("Videos", "Downloaded", "Gone With the Wind");

    In this case, there would be only one category—Videos—in the Events Overview page for Top Categories, and you could see aggregate metrics for user interaction with the total set of elements for that single video object.

    However, it's likely that you will have more than one single object that you want to track using Event Tracking, and it's worth considering how you want to categorize your reporting before you implement the call. For instance, you might want to track all separate movies under the main category of "Videos" so that you get aggregate numbers for all video interaction, regardless of which one users interact with.

    On the other hand, you might create separate categories based on the type of video—one for movie videos and one for music videos. You might also want a separate category for video downloads:

    In this scenario, you can determine the total combined event count for all three categories via the Total Events dashboard. The Total Events metric displays all event counts for all categories that you have supplied in your Event Tracking implementation. However, you will not be able to view combined metrics for all Videos separately from Downloads, because detailed event metrics are combined under their respective categories.

    While the Event Tracking object model is entirely flexible, you should first plan your desired reporting structure before calling the _trackEvent() method for similar web object elements. If you plan to use the same category name in multiple locations, be careful to correctly reference the desired category by name. For example, if you plan to call your video tracking category "Video" and later forget and use the plural "Videos," you will have two separate categories for video tracking. Additionally, if you decide to change the category name of an object that has already been tracked under a different name, the historical data for the original category will not be re-processed, so you will have metrics for the same web page element listed under two categories in the reporting interface.

    Back to Top

    Actions

    The term "Action" in the Event Tracking model refers to the second parameter in the _trackEvent() method. It too is required.

    pageTracker._trackEvent("Videos", "Play", "Gone With the Wind");

    Typically, you will use the action parameter to name the type of event or interaction you want to track for a particular web object. For example, with a single "Videos" category, you can track a number of specific events with this parameter, such as:

    As with categories, the name you provide for an action is up to you, but keep in mind two important features of how an event action is used in the reports:

    To achieve the best possible reports for extensive Event Tracking in your site, keep in mind the following suggestions for using actions:

    Back to Top

    Labels

    The term "Label" in the Event Tracking data model refers to the third string parameter in the _trackEvent() method. This parameter is optional. With labels, you can provide additional information for events that you want to track, such as the movie title in the video examples above, or the name of a file when tracking downloads.

    pageTracker._trackEvent("Downloads", "PDF", "/salesForms/orderForm1.pdf");

    As with Categories and Actions, the reporting interface has its own section for all labels you create for your Event Tracking. Think of a label as a way to create an additional reporting dimension for user interaction with page objects. For example, suppose you have five video players on your page that you want to track interaction with. Each one of these players can use the "Videos" category with the "Play" action, but each could also have a separate label (such as the movie name) so that they appear as distinct elements in the report.

    pageTracker._trackEvent("Videos", "Play", "Gone With the Wind");pageTracker._trackEvent("Videos", "Play", "Huckleberry Finn");

    Values

    The term "Value" refers to the fourth, and optional, parameter that you can use with the _trackEvent() method. This parameter differs from the others in that it is of type integer rather than string, so use it to assign a numerical value to a tracked page object. For example, you could use it to provide the time in seconds for an player to load, or you might trigger a dollar value when a specific playback marker is reached on a video player.

    pageTracker._trackEvent("Videos", "Video Load Time", "Gone With the Wind", downloadTime);

    The value is interpreted as a number and the report aggregates the total values based on each event count (see Implicit Count below). The report also determines the average value for the category. In the example above, the _trackEvent() method is called for the "Video Load Time" action when video load completes. The name of the video is provided as a label, and the computed load time is accrued for each video download. You could then determine average load time for all "Video Load Time" actions for the "Videos" category. Suppose you had 5 unique downloads for your website videos with download times in seconds as:

    The reporting interface would then compute these as follows, with the numbers in this example illustrating download time in seconds:

    # Visits w/Events Value Average Value
    5 53 10.6

    Negative integers are not supported at this time.

    Implicit Count

    In Event Tracking, each interaction with a tracked web page object is counted, and each interaction is associated with a given user session. In the reports, Total Events are calculated as the total number of interactions with a tracked web page object. On the other hand, where a single user session (or visit) has one or more events, this is calculated as a single Visit w/Event, or Unique Event in the reports.

    For example, if one user clicks the same button on a video 5 times, the total number of events associated with the video is 5, and the number of unique events is 1.

    The following table illustrates how data is aggregated in the reporting interface for a given event category. In this example, the same category name is called from 2 separate video players, each with a distinct label. These players share the actions "Play" and "Stop," as programmed in the Flash UI for the video player.

    Event tracking for "Videos" category
    Action Type Label: "Gone With the Wind" Label: "Mr Smith Goes to Washington" Totals
    Play 10 visits w/Event 5 visits w/Event 15 unique events "Play"
    Pause 2 visits w/Event 8 visits w/Event 10 unique events "Pause"
    Stop 2 visits w/Event 3 visits w/Event 5 unique events "Stop"
    Totals 14 unique events for GWTW 16 unique events for Mr Smith 30 unique events for category "videos"

    The table above makes the assumption that user interaction with "Gone With the Wind" and "Mr Smith Goes to Washington" occurs independently in separate user sessions (visits). However, the table below illustrates how events are calculated for a given action in a more complex and typical scenario, where some users press "Play" on only one video, while others interact with more than one video during a visit. Here, the total unique events reflects the total unique events for the "Play" action across labels. Notice that, even though there are 17 unique events per label/action pair, the reports list the unique events for the relevant dimension. So, for all actions, there are only 16 unique events, and for the "Videos" category, a total of 16 visits included an event in which "Videos" was the category.

    Event Tracking Calculation for "Play" Action
    Action Type Label: "Gone With the Wind" Label: "Mr Smith Goes to Washington" Totals
    Play 10 visits w/event   10 unique events "Play"
    Play   5 visits w/event 5 unique events "Play"
    Play 1 visit w/event on BOTH movies (two clicks on "Play") 1 unique event "Play"
    Totals 11 unique play events for GWTW 6 unique play events for Mr Smith 16 unique events for category "Videos" and 16 unique events for action "Play"

    Implementation Considerations

    Keep in mind the following when implementing Event Tracking for your site.

    Bounce Rate Impact

    In general, a "bounce" is described as a single-page visit to your site. In Analytics, a bounce is calculated specifically as a session that triggers only a single GIF request, such as when a user comes to a single page on your website and then exits without causing any other request to the Analytics server for that session. However, if you implement Event Tracking for your site, you might notice a change in bounce rate metrics for those pages where Event Tracking is present. This is because Event Tracking, like page tracking is classified as an interaction request.

    For example, suppose you have a page with a video player where the bounce rate is historically high, and you have not implemented Event Tracking for the page. If you subsequently set up Event Tracking for the player, you might notice a decrease in the bounce rate for that page, because Analytics will record user interaction with the player and send that interaction to the server as an additional GIF request. Thus, even though the same percentage of visitors to the page might still exit without viewing any other page on your site, their interaction with the video player triggers Event Tracking calls, which disqualifies their visit as a bounce.

    In this way, "bounces" for your event-enabled pages means something slightly different: a single-page visit that includes no user interaction on tracked events.

    It's important to keep in mind that any implementation of Event Tracking that automatically executes on page load will result in a zero bounce rate for the page. This is the case if you implement the TimeTracker example, or any other similar Event Tracking utility.

    Events Per Session Limit

    For each visit (user session), a maximum of approximately 500 combined GATC requests (both events and page views) can be tracked. Keep this in mind when programmatically generating events. Note that—as the number of events in a session approaches the limit—additional events might not be tracked. For example, you should:

    For more background information on sessions, see the Google Analytics Help Center on this topic.

    2009:Ubuntu的中国之行袁萌的BLOG » 车东's shared items in Google Reader
    Shared by 抽屉
    Canonical 的中国负责人正式到位了么?
    在今年新春之际,有一个问题摆在我们面前:今年,Ubuntu要来中国走一走,谁来接待?在这里,走的意思很宽松,即可来,也可去。因此,“走一走”非常接近于旅游观光之意。由谁来安排Ubuntu的中国之行?

               这些年来,中国企业被ERP害苦了。企业上了ERP,就被捆住,动弹不得。企业上ERP,动则几十万、上百万(人民币),这可不是闹着玩的。西班牙人,就不这么搞ERP,值得我们一学。西班牙Openbravo公司专攻ERPPOSpoint-of-sale)技术,在全球业界颇有名气。但是,该公司的ERPPOS技术都是“开源的”(不仅仅是源代码开放,而是允许你自由地多次再分发其源代码),其主打产品已经应用于50多个国家。今年年初,Openbravo把它的ERP产品成功地捆绑在Ubuntu(8.048.10版本)上,因而,可以植入自启动U盘之中(这决不是想当然的)。

    让我们设想一种情况,有一位待业Ubuntu技术高手,手持ERP自启动U盘,去某个企业应聘工作。老板问他(她),你有何专长?答曰:ERP自启动U盘。实际上,只要把这个U盘插入当地局域网,整个网络(各个工位)顿时就可利用浏览器访问该U盘中的ERP系统,老板必然给惊呆了,眼睛发出贪婪的光芒。这位Ubuntu高手对老板说,这个U盘中的软件都是“正版软件”,但是,任何人(包括您)均可自由(!)使用。于是,老板心里面在想(经过盘算),把你(Ubuntu高手)留下不就得了。应聘必然成功!

    怎样成为一名Ubuntu高手?这并不难。你必须先登录一下网站www.openbravo.com,开阔一下眼界(洗洗脑筋),再下载一份Ubuntu袖珍指南(Ubuntu pocket guide and referencePDF文本,封面凸现东方风格),玩玩(玩熟)Ubuntu,再搞个自启动U盘,便可到处显露身手了。当然,你必须事先交上几位正真的Ubuntu朋友,有事请他们来帮忙。

               我想,中国的软件企业今年(春夏)很难做,需求减少,没有项目。老板裁人,也是无奈之举。不幸被裁,不必灰心,更不能丧气。找几位朋友,聊聊Ubuntu,一定很开心。我想,(你们)不妨自告奋勇,做一回接待Ubuntu到访(中国之行)的志愿者。Ubuntu志愿者是一个很好听(很光荣)的称号,Ubuntu即“善待他人”也,做Ubuntu志愿者,不要不好意思。

               当前,我所担心的事情是,Ubuntu的中国之行是否会成功?成功的标志是,Ubuntu喜欢中国,决定留下来。何谓“喜欢中国”?这就意味着,在中国境内,Ubuntu找到了“知音”,就是你(们)!Ubuntu,请你留下来!

           (注:OpenbravoERP内容很完备。实践证明,它是一个相当成熟的企业级产品。在全球范围内,Openbravo100多个合作伙伴和ERP系统集成商,用户遍及全球。在2009年,Ubuntu服务供应商(USP)将是一个新行当,值得我们关注。Ubuntu善于在经济萧条中冲浪,而微软伙伴则显得很疲惫。

    When Talking About Business Models, Remember That Profits Equal Revenues Minus CostsA VC » 车东's shared items in Google Reader
    Shared by 车东
    为什么Facebook需要1000名员工,为什么每年需要花费3亿美元?这或许是很好的理由。国际化扩张代价不菲,而建立强大的销售队伍同样成本高昂。但这些情况可以避免,Facebook或者可以缩减员工规模至500人,盈利惊人并获得迅猛增长?。。。网络可以创造出毛利率惊人的业务。Craigslist的运营利润率是90%,谷歌的关键词业务的运营利润率也超过了60%(基于净营收)甚至更高。Facebook和Digg能否复制上述模式,并通过小规模营收创造大量的价值?我认为可以。

    There is no shortage of discussion about Internet business models these days. And they almost always focus on revenues. But revenues are only half of the value creation equation. The other half is costs.

    Let me explain. Businesses are worth the net present value of future cash flows. Cash flows means profits basically (capital expenditures are important but I'm going to leave them out of the discussion on this post). So a business is worth the sum of all of its future profits, discounted back to a net present value. For those who don't want a lesson in finance, you can simplify this theory even more by using a cash flow multiple as a proxy for a net present value. I like to use a 10x multiple for cash flow as a simplistic proxy for net present value.

    So with that simplification, the value of a business is approximated by 10 x (revenues - costs). You can focus on creating value by driving revenues or you can focus on creating value by driving profits. And they are not the same. Because costs don't have to grow linearly with revenues.

    Chris Anderson wrote a very good piece in today's WSJ called The Economics Of Giving It Away. In that essay, Chris wrote:

    Meanwhile YouTube is still struggling to match its popularity with revenues and Facebook is selling commodity ads for pennies after its effort to charge for intrusive advertising led to a user backlash. And news-sharing site Digg, for all its millions of users, still doesn't make a dime. A year ago, that hardly mattered: The business model was "build to a lucrative exit, preferably in cash." But now the exit doors are closed and cash flow is king.

    Chris goes on to suggest that Internet entrepreneurs are going to have to get people to step up and pay for something instead of just giving everything away for free because advertising isn't going to foot the bill for every company. That may well be true and we are certainly thinking that way for most, if not all, of our portfolio companies. But Chris's examples, particularly Facebook and Digg, are examples of companies that might benefit from looking at the cost side of the profit equation at some point (maybe not yet).

    Let's look at Craiglist. I've heard people estimate that they are doing close to $100mm in annual revenues at this point. Many say, "they could be doing so much more". But the Craigslist profit equation is interesting. They apparently have less than 30 employees. That's about $4mm/year in employee costs. Let's assume that they spend another $6mm per year on hosting and bandwidth costs and other costs. So it's very possible that Craigslist's annual costs are around $10mm/year. Their value equation then is 10 x (100-10) = $900mm. That's almost a billion dollars in value for a company with only 30 employees.

    The web can do that in more than one company. Last month, Spencer Ante reported that Digg's annual revenues were around $8.5mm. Everyone was saying how bad that was. And maybe it is, but I don't know. It wasn't the revenues that shocked me. It was the costs. Apparently Digg's costs for 2008 were about $14mm and they have over 70 employees and are planning on growing that number to 150 in 2009. Digg is entirely peer produced. It could take a Craigslist approach to its business and keep its headcount to around 30. Then it might be close to breakeven and could grow over time to a business with $30mm to $50mm in revenue and $10mm in costs and $20mm to $40mm in profits. Apparently Digg has been looking for an exit in the neighborhood of $300mm. They could get there with a lean cost structure possibly more easily than investing heavily in new stuff.

    Facebook also comes to mind. Last winter, Kara Swisher reported that Facebook was planning on generating revenues of $300mm to $350mm in 2008 and that it would have profits of $50mm, meaning its costs would be $300mm in 2008. She also reported that Facebook would take its headcount to about 1000 by the end of 2008. As Chris said in his WSJ piece, Facebook has been widely derided for the low CPMs it generates (pennies in Chris' words). But instead of deriding the revenues that Facebook is generating, maybe we should be in awe of a $350mm revenue stream coming from a company that produces no content of its own. Why does Facebook need 1000 employees? Why does it need to spend $300mm per year? There may be good reasons. International expansion can be expensive and so is building out a large sales organization. But of course, none of that has to happen. Could Facebook instead cut is headcount back to 500ish and become incredibly profitable and still grow like a weed? I don't know that much about what is going on inside of Facebook and I am not trying to be critical of any one company. I am just trying to make a larger point.

    Let's talk about the biggest and most valuable Internet company of them all, Google. Google has one incredibly amazing business - keyword advertising. It relies on its own search service and deals with other search services and content partners for the audience that drives the keyword business. If you stripped that business out of Google, you'd probably have a business that has gross revenues of $20bn, net revenues of $13bn, and operating profits of $8bn to $10bn. That business is worth the approximately $100bn of market value that Google has right now. Everything else is valued at zero becuase it has a lot of costs and no revenue. Could Google unlock a lot of value by giving up on everything else they are doing? Maybe not, but they probably wouldn't lose much value either. I am not suggesting they do that, by the way. But again, I just want to make a point.

    The web can create incredibly high operating margin businesses. Craigslist has an operating margin of 90%. Google's keyword business has an operating margin north of 60% (based on net revenues) and possibly higher. Could Facebook and Digg copy those models and create a lot of value on revenue numbers that many think are pitifully small? I think so.

    We have a bunch of companies in our portfolio that have done a lot with very little. For example, Tumblr has less than 10 employees, Disqus has 5, Twitter has around 20, Boxee has around 10. These companies are reaching large audiences and creating scale that can be monetized in many ways. We didn't tell these companies to stay small. They told us they could do a lot with a little. And watching them do just that has taught me a lot. Yes, they will all grow this year, most of our companies will. But if they continue to do a lot with a little, their business models will be built on operating margins that are very high and can create a lot of value without a lot of revenue.

    I think that's an important part of the economics of the web that are left out of most discussions of Internet business models. Yes, we are turning analog dollars into digital pennies in many cases. But we are also doing the same thing on the cost side, maybe even more so. And I think that "operating leverage" is going to create a lot of value.

    Reblog this post [with Zemanta]

    04:13 气候变化前线上的小岛屿国家 » 中外对话新鲜出炉

    小岛屿发展中国家希望联合国能对全球变暖和人权之间的接点进行研究。爱德华•卡梅隆认为这个角度对岛国缓解行动中很有意义。

    (本文节选自世界观察研究所的报告《世界状况2009:进入一个变暖的世界》,经授权转载。)

    面对气候变化,世界上的小岛屿发展中国家(SIDS)最为脆弱,在受危害时也首当其冲。然而它们排放的温室气体最少,对正受全世界责难的气候危机的责任也最小。岛国的国际影响远远不及主要排放国,在气候谈判中的声音最小。最终,它们的脆弱被忽视,声音被掩盖。

    这些国家也最难从气候基金中获益,基金大部分都用于减缓(特别是能源项目)而不是适应。采取行动时,它们一般都会被忘在一边。

    加勒比国家的情况充分体现了SIDS国家的脆弱性。据新经济基金(nef)的统计,暴风和飓风强度更大,引起的风暴潮让千百万人受害,造成数亿美元的损失。2004年,飓风“伊万”横扫格林纳达。这个岛国一直被认为是是处于飓风带以外的,在这次灾难中,该国90%的基础设施和房屋被毁,经济损失高达8亿美元,相当于其GDP的两倍。风暴频度和强度的增加有可能是气候变化的产物,给政治、社会和经济系统带来更大的压力,并且进一步限制了加勒比地区的发展。

    这些岛屿依赖于珊瑚礁这样的脆弱生态系统。全世界珊瑚礁中生活着的海洋物种,每年产生着亿美元的纯经济效益。最近的研究估计在全世界构成礁盘的珊瑚品种中有三分之一濒临灭绝。气候变化、海岸开发、过度捕捞和污染是珊瑚的主要威胁。一项新的分析表明,1998年之前在全部704个珊瑚品种中被列入濒危的只有13种,如今则已高达231

    加勒比海在濒危度最高的珊瑚种类中所占比例最大,但印度洋和太平洋的珊瑚礁也面临着大规模灭绝。海平面上升、洪水和风暴潮是太平洋和印度洋环礁的主要威胁。如果联合国政府间气候变化专门委员会IPCC)的预测正确的话,这些岛国将在本世纪末消失。

    SIDS国家的困难很多,一方面自然资源匮乏,常常缺乏淡水供应,另一方面交通和通信设施十分落后。因此,哪怕全球气候有一点小小的变化,它们也很敏感。此外,财政、技术和制度资源方面适应能力的长期缺失,也让它们在多重威胁面前不知所措。

    如今,小岛屿国家正在大步迈向长期可持续发展,努力实现千年发展目标(MDGs)。但是,气候变化的影响已经让他们的努力付诸流水。

    千年发展目标首先是根除极端贫困和饥荒,然而粮食生产模式的改变和生计的逐渐丧失影响了它的实现。许多岛国的经济命脉严重依赖旅游业和自然资源,同时依靠本地的作物和野生动植物提供食品。生物多样性和珊瑚礁遭遇威胁意味着上述生存资源的减少、经济绩效的破坏,地区食品安全也受到威胁。

    第二个目标是普及基础教育,极端天气事件却让它大打折扣,因为重建—毁坏—重建的怪圈减少了对长期发展的投资。热带风暴毁掉了学校、医院以及公用事业和基础设施(包括能源、供水和交通联络线),造成对教育、卫生和其他公共事业资源的减少。类似灾害给国家收入带来的损失也减少了在教育上的公共投资。

    第三个目标是促进性别平等,提高女性地位,由于贫困妇女所受气候变化威胁经常最大,这一目标的实现也举步维艰。文化规范意味着妇女缺乏相应的技巧来对付层出不穷的灾害,对极端天气事件死亡情况的统计就说明了这一点。另外,随着资源的减少,妇女和女童要花更多的时间来寻找食品和水,关注自身健康和教育的时间就更少了。

    另外三个关于健康事业的千年发展目标是降低儿童死亡人数、改善母亲健康和应对艾滋病、疟疾和其他疾病。世界卫生组织(WHO)和其他主要卫生机构指出,水传疾病、媒传疾病、腹泻和营养失调的增加是气候变化的结果,这会导致儿童死亡的增加、降低母亲健康,并且破坏抵抗艾滋病所必需的营养健康。

    对于南印度洋小岛国马尔代夫的30万居民来说,气候变化的活剧已经成了日常的现实。马尔代夫前总统穆蒙·阿卜杜勒·加尧姆是全世界第一个关注气候变化威胁的国家元首,1987年他在联合国大会上发表了一个里程碑式的演讲,警告说气候变化将导致马尔代夫和其他小岛国的消亡。20年过去了,气候变化的影响已经显现:风暴潮和海岸侵蚀毁坏民居,威胁到基础设施和公用事业,并且和战略发展争夺有限的资源。

    从中期来看,海洋温度上升以及随之而来的盐化将威胁马尔代夫珊瑚礁的生存,而这正是该国经济命脉所系。马尔代夫的两大主要产业——旅游业和渔业都完全依赖珊瑚礁,它们为该国创造了40%的经济总量和40%的就业。这两大产业共同开创了马尔代夫经济发展的辉煌,让它从70年代南亚最贫穷的国家变成今天人均财富最多的国家。

    从长期来看,受到威胁的不仅是经济发展,还有国家本身的生存。由于马尔代夫大部分国土海拔不足1,目前生活在这里的人是最幸运的一代,但可能也是最后的一代。

    目前大气中温室气体浓度的影响未来几十年都不会消失,某种程度的气候变化已经不可避免。因此,马尔代夫政府制定了一个全面的国内适应计划。已经开展的工作主要集中在加固关键基础设施上,特别是与交通通信相关的。从供水到发电再到医疗卫生等公共服务也得到强化,以便应对气候变化威胁。该国还修建了防洪设施,并采取措施尽力控制海岸侵蚀。

    “安全岛”概念的提出可能是马尔代夫最具创新性的一个措施。这项措施目的是把对气候变化的脆弱性最小化,方法是把居民从更加脆弱的较小岛屿迁到更加安全的较大岛屿重新安置。这使得政府能够用有限的资源保护更多的岛屿,同时公众服务业得到加强,并且创造了更多的经济机会。

    马尔代夫和所有其他脆弱国家的国内适应行动需要的准备工作有很多:首先是巨大的工程项目和大量的财政投入;其次需要大规模的能力建设,这样才能强化制度能力,加强知识、人力和财力资源,才能制订提高觉悟的计划,帮助人民准备应对不可避免的变化。

    没有减缓的适应最终不过是暂时的延缓,只是把灾难性的气候变化往后拖了一点。我们必须立刻采取彻底行动,减少温室气体排放。从一开始,小岛屿国家就积极参与达成气候行动全球共识的行动。《联合国气候变化框架公约》(UNFCCC)和《京都议定书的签订,部分动力就来自小岛屿国家联盟(AOSIS)所推动的一项道义共识,因此该组织被称为“公约的良心”。

    如今,小岛屿国家联盟在巴厘岛进程中同样积极。它们提出了题为“岛国共进”的谈判立场,主要的长期战略目标有以下三条:

     
     

    * 需要一个严格的温室气体长期减排目标,作为巴厘岛进程和其他所有进程的构成点。也就是说,如果要把长期温度上升控制在前工业化水平之上2摄氏度,必须进行大幅度而积极的减排。

    * 需要更多的适应基金,由于SIDS国家特殊的脆弱性和能力的缺乏,应该在促进的基础上优先给予。

    * 需要支持和技术援助,进行能力建设并获得技术,在广泛的社会经济领域应对和适应气候变化。

    小岛国联盟希望对《京都议定书》进行扩充,向希望履行议定书义务的发展中国家敞开大门,认为总体结果应该把SIDS国家所受影响作为衡量效用和成功的基准。在气候变化谈判进程中,小岛国联盟发出了合理而重要的声音,但也被自身能力限制和成员意见分歧所困扰。

    目前国际气候谈判的拖拖拉拉、谨小慎微让许多国家倍感失望,它们主张立刻转变思路,引入新的方法来解决气候危机。2008年3月,马尔代夫政府和许多其他岛国密切合作,在日内瓦联合国人权委员会通过一项决议,该决议将气候变化和人权联系在一起,得到70多个国家的支持。决议呼吁联合国人权事务高级专员办公室进行一项分析性研究,探索人权与气候变化之间的接点。这项开创性的倡议试图把国际人权法在书面、规范和操作上的力量引入气候变化的话语中。

     
    小岛屿国家努力制订迅速而彻底的减缓政策,同时不断争取资金注入来支持其减缓行动。一种基于权利的气候危机应对方式对它们是非常有利的。

    首先,基于权利的方式与50多种国际人权法联系在一起,如生存权、健康权和相当生活水准权,有助于促进气候变化对人类影响的分析。

    其次,基于权利的方式把政策偏好变成法律义务,把易受气候变化中的脆弱社区从过去气候谈判的局外人变成权利人。这将赋予脆弱者话语权,迫使主要排放国赶在小岛屿国家沦为牺牲品之前采取行动。

    作者简介:爱德华·卡梅隆,气候变化专家,主要致力于小岛屿国家的研究。

    世界观察研究所2009年版权所有

    (本文节选自世界观察研究所的报告《世界状况2009 :进入一个变暖的世界》,经授权转载。)

    特别优惠:“中外对话”的读者可以八折的价格从Earthscan出版社购买此书,优惠券代码为CHINA DIALOGUE。

    首页图片romsrini

     


    ^==Back Home: www.chedong.com

    ^==Back Digest Home: www.chedong.com/digest/

    <== 2009-02-02
      二月 2009  
                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  
    ==> 2009-02-04