Liu 的个人资料唯有仰望是真实的照片日志列表更多 工具 帮助

日志


2008/9/27

找到了一个长期困扰的pagetagging日志问题的解决

之前我们的日志统计采取了google analytics一样的page tagging的机制,经过一个很长的痛苦经验后发现,当连接的target=“_self"的时候,统计到的会比实际到达目标页的数量少很多,进40%左右。

今天读《高性能网站建设指南 -- 前端工程师技能精髓》(High Performance Web Sites)时看到Steve Souders同学和Yahoo的同学们已经发现了这个问题,并给出了原因和解决方案。

通常的用beacon来记录的代码如下,

<a href="http://en.wikipedia.org/wiki/Performance"
   onclick="resultBeacon(this);">Performance - Wikipedia</a>

<script>
var beacon;
function resultBeacon(anchor) {
    beacon = new Image();
    beacon.src = "http://rds.yahoo.com/?url=" + escape(anchor.href);
}
</script>

这里的问题就是发送beacon和页面被卸载之间出现竞争,导致时序是不确定的,所以出现了40%的统计差距。

解决方案:

1, 利用图片beacon的onload事件确保在页面卸载之前beacon已经发送完毕,代码如下

<a href="http://en.wikipedia.org/wiki/Performance"
   onclick="resultBeacon(this); return false;">Performance - Wikipedia</a>

<script>
var beacon;
function resultBeacon(anchor) {
    beacon = new Image();
    beacon.onload = gotoUrl;
    beacon.onerror = gotoUrl;  // in case the image fails, we still want to redirect the user
    beacon.anchor = anchor;
    beacon.src = "http://rds.yahoo.com/?url=" + escape(anchor.href);
}

function gotoUrl() {
    document.location = beacon.anchor.href;
}
</script>

代码来源自http://stevesouders.com/hpws/redir-beacon.php

2,使用XMLHTTPRequest来发送beacon, 在readyState到2的时候再unload页面,代码如下

<a href="http://en.wikipedia.org/wiki/Performance"
   onclick="resultBeacon(this); return false;">Performance - Wikipedia</a>

<!-- Dependency -->
<script src="http://yui.yahooapis.com/2.3.0/build/yahoo/yahoo-min.js"></script>
<!-- Used for Custom Events and event listener bindings -->
<script src="http://yui.yahooapis.com/2.3.0/build/event/event-min.js"></script>

<!-- Source file -->
<script src="http://yui.yahooapis.com/2.3.0/build/connection/connection-min.js"></script>
<script>
var gAnchor, gXhrObj;

function resultBeacon(anchor) {
    gAnchor = anchor;
    beacon_src = "http://stevesouders.com/images/beacon.gif?url=" + escape(anchor.href) + "&t=" + Number(new Date());

    gXhrObj = getXHRObject();
    gXhrObj.onreadystatechange = xhrCallback;
    try {
        gXhrObj.open("GET", beacon_src, true);  // true == async
        gXhrObj.send("");
    }
    catch(err) {
        gotoUrl();  // on failure, just go to the target url
    }

}

function xhrCallback(respAr) {
    var readyState = ( respAr ? respAr.readyState : gXhrObj.readyState );
    if ( 2 == readyState ) {    // the request is done enough to risk unloading the page
        gotoUrl();
    }
}

function gotoUrl() {
    document.location = gAnchor.href;
}

// Find the right syntax for creating an XHR object.
function getXHRObject() {
    var xhrObj = false;

    try {
        xhrObj = new XMLHttpRequest();
    }
    catch(e){
        var progid = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
        for ( var i=0; i < progid.length; ++i ) {
            try {
                xhrObj = new ActiveXObject(progid[i]);
            }
            catch(e) {
            }
        }
    }
    finally {
        return xhrObj;
    }
}
</script>


代码来自http://stevesouders.com/hpws/xhr-beacon.php 

 

总结:

看到这么简洁的解决方案,心里又喜又卑,喜得是又一个头大的问题被解决了,卑的是为什么这么简洁的自己没有想到,我们实验了各种情况,排除了不少的可能,最后估计也是beacon图片请求的发送和页面unload的时序不确定带来的问题,但是没有进行更多的思考和实验的得到解决方案,以后要加强思考和多动手实践。

十一读书计划之High Performance Books by Yahoo!s

High Performance Web Sites中文版读完,英文以前看过,中文的快看完了

Building Scalable Web Sites之前浏览一遍,再细看一遍

High Performance MySQL, 数据库知识和应用不细,补足一下

2008/9/25

how to get a girl

 
2008/9/21

no title

   
2008/9/20

the Meaning of Life

哈佛主席Drew Gilp Faust就最常被学生问到的问题之一,“为什么大家都去了华尔街”,做了这次的本科毕业生的毕业典礼演讲。

很遗憾,我没有能够光荣的站在毕业典礼上听许智宏校长告诉我这些,但是从04年,每一年都会从各种来源看到朱苏力在法学院毕业典礼的,慈祥如父般的不舍和担忧,又充满期待和鼓励,又最后一次的谆谆教诲如何扬帆远航

这个演讲中,Faust分析了为什么会问这个问题

很多的焦虑,怀疑和恐惧,都来自这个很少有人敢直面说出的问题,

活着的意义是什么? (the Meaning of Life)

这个焦虑又有两个方面,

1,大家都希望过有意义的生活,同时又是成功的生活。这就是为什么我们中很多人有很大的原因追寻一个高薪的工作,我们觉得高的薪水体现了我们的价值,社会对我们价值的承认。同时,我们希望能多做有意义的事情。但通常要么觉得做的事情没有意义,要么觉得unapreciated并且努力寻找一个更大的舞台。

2,大家都希望过的开心,幸福

最后,她给出了建议不要害怕尝试,只有试过了才知道是否有意义,有价值,才不会因为不去尝试而悔恨。一个很有趣的parking-space理论。Don’t park 20 blocks from your destination because you think you’ll never find a space. Go where you want to be and then circle back to where you have to be.

前几天看到一个blog说,IT或者更详细的说互联网,是一个没有人敢正经谈理想的行业,employer或者boss不敢问员工他的理想是什么,因为基本不可能是把被分配的任务做出花来,然后boss一问“你什么理想啊?”,答“我想做服务千万用户的需求的网站”,然后第二天就辞职了,所以出于礼貌,boss也不问,员工也只是把分内的活做好。大家都难,boss难怎么能忽悠住这些人给自己的梦想卖命,员工难怎么能追求自己的梦想,而不是一直被忽悠。

其实何止是IT, 有多少人是在一天的辛苦后和早起的闹铃声中想,I do this all for the damn money, 不难理解为什么这么多人不eat their own dogfood, 做牛奶的不喝自己家的牛奶,养猪的不吃猪肉,办学校的孩子不敢让自己的孩子在国内上学,这是一个多么恐怖的事情啊。

http://harvardmagazine.com/web/commencement/faust-baccalaureate-address-2008

Baccalaureate Address 2008

June 3, 2008

President Drew Gilpin Faust’s speech at the Baccalaureate service for the Harvard College class of 2008 on June 3.

In the curious custom of this venerable institution, I find myself standing before you expected to impart words of lasting wisdom. Here I am in a pulpit, dressed like a Puritan minister — an apparition that would have horrified many of my distinguished forebears and perhaps rededicated some of them to the extirpation of witches. This moment would have propelled Increase and Cotton into a true “Mather lather.” But here I am and there you are and it is the moment of and for Veritas.

You have been undergraduates for four years. I have been president for not quite one. You have known three presidents; I one senior class. Where then lies the voice of experience? Maybe you should be offering the wisdom. Perhaps our roles could be reversed and I could, in Harvard Law School style, do cold calls for the next hour or so.

We all do seem to have made it to this point — more or less in one piece, though I recently learned that we have not provided you with dinner since May 22. I know we need to wean you from Harvard in a figurative sense. I never knew we took it quite so literally.

But let’s return to that notion of cold calls for a moment. Let’s imagine [if] this were a baccalaureate service in the form of Q & A, and you were asking the questions. “What is the meaning of life, President Faust? What were these four years at Harvard for? President Faust, you must have learned something since you graduated from college exactly 40 years ago.” (Forty years. I’ll say it out loud since every detail of my life — and certainly the year of my Bryn Mawr degree — now seems to be publicly available. But please remember I was young for my class.)

In a way, you have been engaging me in this Q & A for the past year on just these questions, although you have phrased them a bit more narrowly. And I have been trying to figure out how I might answer and, perhaps more intriguingly, why you were asking.

Let me explain. It actually began when I met with the UC [Undergraduate Council] just after my appointment was announced in the winter of 2007. Then the questions continued when I had lunch at Kirkland House, dinner at Leverett, when I met with students in my office hours—even with some recent graduates I encountered abroad. The first thing you asked me about wasn’t the curriculum or advising or faculty contact or even student space. In fact, it wasn’t even alcohol policy. Instead, you repeatedly asked me: Why are so many of us going to Wall Street? Why are we going in such numbers from Harvard to finance, consulting, i-banking?

There are a number of ways to think about this question and how to answer it. There is the Willie Sutton approach. You may know that when he was asked why he robbed banks, he replied, “Because that’s where the money is.” Professors Claudia Goldin and Larry Katz, whom many of you have encountered in your economics concentration, offer a not dissimilar answer based on their study of student career choices since the seventies. They find it notable that, given the very high pecuniary rewards in finance, many students nonetheless still choose to do something else. Indeed, 37 of you have signed on with Teach for America; one of you will dance tango and work in dance therapy in Argentina; another will be engaged in agricultural development in Kenya; another, with an honors degree in math, will study poetry; another will train as a pilot with the U.S. Air Force; another will work to combat breast cancer. Numbers of you will go to law school, medical school, graduate school. But, consistent with the pattern Goldin and Katz have documented, a considerable number of you are selecting finance and consulting. The Crimson’s survey of last year’s class reported that 58 percent of men and 43 percent of women entering the workforce made this choice. This year, even in challenging economic times, the figure is 39 percent. [For more information on the careers research by professors Goldin and Katz, see "Flocking to Finance," May-June, page 18.]

High salaries, the all but irresistible recruiting juggernaut, the reassurance that so many of your friends will be working and living and enjoying the Big Apple alongside you, the promise of interesting work — there are lots of ways to explain these choices. For some of you, it is a commitment for only a year or two in any case. Others believe they will best be able to do good by first doing well. Yet, you ask me why you are following this path.

I find myself in some ways less interested in answering your question than in figuring out why you are posing it. If Professors Goldin and Katz have it right; if finance is indeed the “rational choice,” why do you keep raising this issue with me? Why does this seemingly rational choice strike a number of you as not understandable, as not entirely rational, as in some sense less a free choice than a compulsion or necessity? Why does this seem to be troubling so many of you?

You are asking me, I think, about the meaning of life, though you have posed your question in code — in terms of the observable and measurable phenomenon of senior career choice rather than the abstract, unfathomable and almost embarrassing realm of metaphysics. The Meaning of Life — capital M, capital L — is a cliché: easier to deal with as the ironic title of a Monty Python movie or the subject of a Simpsons episode than as a matter about which one would dare admit to harboring serious concern.

But let’s for a moment abandon our Harvard savoir-faire, our imperturbability, our pretense of invulnerability, and try to find the beginnings of some answers to your question.

I think you are worried because you want your lives not just to be conventionally successful, but to be meaningful, and you are not sure how those two goals fit together. You are not sure if a generous starting salary at a prestigious brand-name organization, together with the promise of future wealth, will feed your soul.

Why are you worried? Partly it is our fault. We have told you from the moment you arrived here that you will be the leaders responsible for the future, that you are the best and the brightest on whom we will all depend, that you will change the world. We have burdened you with no small expectations. And you have already done remarkable things to fulfill them: your dedication to service demonstrated in your extracurricular engagements, your concern about the future of the planet expressed in your vigorous championing of sustainability, your reinvigoration of American politics through engagement in this year’s presidential contests.

But many of you are now wondering how these commitments fit with a career choice. Is it necessary to decide between remunerative work and meaningful work? If it were to be either/or, which would you choose? Is there a way to have both?

You are asking me and yourselves fundamental questions about values, about trying to reconcile potentially competing goods, about recognizing that it may not be possible to have it all. You are at a moment of transition that requires making choices. And selecting one option — a job, a career, a graduate program — means not selecting others. Every decision means loss as well as gain — possibilities forgone as well as possibilities embraced. Your question to me is partly about that—about loss of roads not taken.

Finance, Wall Street, “recruiting” have become the symbol of this dilemma, representing a set of issues that is much broader and deeper than just one career path. These are issues that in one way or another will at some point face you all: as you graduate from medical school and choose a specialty—family practice or dermatology; as you decide whether to use your law degree to work for a corporate firm or as a public defender; as you decide whether to stay in teaching after your two years with TFA. You are worried because you want to have both a meaningful life and a successful one; you know you were educated to make a difference not just for yourself, for your own comfort and satisfaction, but for the world around you. And now you have to figure out the way to make that possible.

I think there is a second reason you are worried—related to but not entirely distinct from the first. You want to be happy. You have flocked to courses like “Positive Psychology”—Psych 1504—and “The Science of Happiness” in search of tips. But how do we find happiness? I can offer one encouraging answer: get older. Turns out that survey data show older people—that is, my age—report themselves happier than do younger ones. But perhaps you don’t want to wait.

As I have listened to you talk about the choices ahead of you, I have heard you articulate your worries about the relationship of success and happiness—perhaps, more accurately, how to define success so that it yields and encompasses real happiness, not just money and prestige. The most remunerative choice, you fear, may not be the most meaningful and the most satisfying. But you wonder how you would ever survive as an artist or an actor or a public servant or a high-school teacher. How would you ever figure out a path by which to make your way in journalism? Would you ever find a job as an English professor after you finished who knows how many years of graduate school and dissertation writing?

The answer is: you won’t know till you try. But if you don’t try to do what you love—whether it is painting or biology or finance—if you don’t pursue what you think will be most meaningful, you will regret it. Life is long. There is always time for Plan B. But don’t begin with it.

I think of this as my parking-space theory of career choice, and I have been sharing it with students for decades. Don’t park 20 blocks from your destination because you think you’ll never find a space. Go where you want to be and then circle back to where you have to be.

You may love investment banking or finance or consulting. It might be just right for you. Or you might be like the senior I met at lunch at Kirkland who had just returned from an interview on the West Coast with a prestigious consulting firm. “Why am I doing this?” she asked. “I hate flying, I hate hotels, I won’t like this job.” Find work you love. It is hard to be happy if you spend more than half your waking hours doing something you don’t.

But what is ultimately most important here is that you are asking the question—not just of me, but of yourselves. You are choosing roads and at the same time challenging your own choices. You have a notion of what you want your life to be and you are not sure the road you are taking is going to get you there. This is the best news. And it is also, I hope, to some degree, our fault. Noticing your life, reflecting upon it, considering how you can live it well, wondering how you can do good: These are perhaps the most valuable things that a liberal-arts education has equipped you to do. A liberal education demands that you live self-consciously. It prepares you to seek and define the meaning inherent in all you do. It has made you an analyst and critic of yourself, a person in this way supremely equipped to take charge of your life and how it unfolds. It is in this sense that the liberal arts are liberal — as in liberare — “to free.” They empower you with the possibility of exercising agency, of discovering meaning, of making choices. The surest way to have a meaningful, happy life is to commit yourself to striving for it. Don’t settle. Be prepared to change routes. Remember the impossible expectations we have of you, and even as you recognize they are impossible, remember how important they are as a lodestar guiding you toward something that matters to you and to the world. The meaning of your life is for you to make.

I can’t wait to see how you all turn out. Do come back, from time to time, and let us know.

2008/9/18

chrome源码分析之0, RTFM

让我们在钻进代码之前先RTFM, 以下内容多翻译自官方文档,几个流程图也是网站上直接找来的,原文地址在http://dev.chromium.org, 不知为何被GFW了,请自行跳墙或用tor.

在chrome comic book和大量的发布和评论文章与官方视频中都提到三点显著特点,

其一就是多进程的模式。

在John Reigh同学的最近博文http://ejohn.org/blog/google-chrome-process-manager/中提到,chclip_image002rome成功的将对浏览器的性能的批评,无论是内存泄露还是吞食CPU, 推到了网站身上,这个倒是本应如此,而且我看到mozilla和ie的人都出来说过,如果什么东西除了问题,大家首先责备的就是浏览器,而不是事情真正的罪魁祸首,坏的网站,坏的插件或者应用,现在google终于推动大家向前看了一步,虽然不是对所有人都有作用。

从google和baidu的人身上知道了一个事实,就是程序难免有bug,再聪明牛B的程序员也只能减少而不能根除这个问题,所以更多的时候,与其多花80%的精力来完善每一个细节,不如在追求完美的设计和编码的同时,拥抱程序可能出错的事实,像google一样在这上面做到了极致,知道再多的测试再牛的鲁棒也会有时crash浏览器,那么我们怎样给用户最好的感受呢,不让一个坏的crash影响其它的页面浏览,方便的杀掉crash掉的页面或者插件。

其二就是v8, 超级快的javascript engine

在这个视频中http://www.youtube.com/watch?v=hWhMKalEicY ,还有http://code.google.com/apis/v8/design.html V8的主要设计师Lars Bak大牛同学深入浅出的讲解了v8 engine的三个最核心的优化速度的地方。

1,使用hidden class,使得property access不用通过代价相当高的dictionary lookup,并且可以使用经典的基于类的优化,比如inline cache, 大大提高property access的速度

2,javascript代码在第一次执行时就被编译成machine code, 而不是中间的byte code, 不需要解释器

3,使用分代的高效的垃圾回收机制

 

第三就是在sandbox中的render和browser分离机制

chrome的安全机制是其最出色的部分之一,也是我认为目前在port mac版本和linux版本中遇到的最大问题。他的sandbox机制是之前买的一个公司在windows上做的一种隔离和限制进程权限的机制,完全依赖OS的安全机制。

更多的关于sandboxThe Security Architecture of the Chromium Browser

 

上面的架构图能够看出,chrome大体上可以分为两个功能部分,一个就是browser, 另一个时renderers,他们通过IPC进行交互,在renderer这边的RenderProcess对应browser中的RenderProcessHost,RenderProcess管理这的RenderView对应browser中的RenderViewHost. 这里面有些重要的细节,例如共享render process, sandboxing the render, 以及内存不够时如何管理renderers。

 

Chromium如何display页面

显示页面,基础设施包括下载页面和图形引擎库,首先页面下载由

页面由renderer发起IPC请求到browser, 在ResourceDispatcherHost然后分发到各个URLRequest线程去fetch回来,这一系列的分发中保持一个request ID所以能够正确的返回到发起的renderer这里。

图形引擎使用Skia graphics library,最初是给Android开发的一个跨平台的图形库。代码位置在/third_party/skia. 图形操作入口在/webkit/port/platform/graphics/GraphicsContextSkia.cpp. 更多的代码目录结构在

页面fetch回来以后, 页面的layout就交给WebKit了,google做了一个webkit的port, 做了一个glue层来做adapter, 所有的chromium的操作都是通过这个glue的API来和webkit交互的clip_image004clip_image006

The render process

renderer中最重要的class是这个RenderView, 在/chrome/renderer/render_view.cc,一个object对应一个网页,负责处理browser发来的navigation相关的命令。

The browser process

browser进程包括两个部分,一部分底层的I/O thread, 和RenderProcessHost, 一部分是高层的RenderViewHost和WebContents展现对象。

browser中,在主线程初始化RenderProcessHost的时候会创建这个IPC::CHannelProxy, 它在I/O thread里面跑着,监听到render的命名管道(named pipe), 自动把UI thread上的消息forward到RenderProcess上去。

注意到这个ResourceMessageFilter了吗,它是用来过滤掉那些可以直接在I/O thread上处理的消息,其它的消息会被forward到对应的处理地方去。

这里http://dev.chromium.org/developers/design-documents/displaying-a-web-page-in-chrome#TOC-Illustrative-examples 可以看到细致的如"set cursor"和"mouse click"事件的生命周期都是如何的,怎么在browser和render各层之间传递的。

最后,是我们dive into source code前的最后一站,Getting Around the Chromium Source Code

social

今天借google的光去桥咖啡参加opensocial的聚会活动

上次facebook的北京活动没去,后来看大家在校内海内上的反馈都很好,有些小后悔

今天去的人挺多,开始说了说天涯,一起和聚友myspace中国的开放平台的情况

相当的boring。。。

后来大家自己social

王兴去了,和他没聊啥,给他提海内之前有时图片server不响应的问题,还有海内open平台的进展情况,他还是比较有趣和open的,所以很多人找他聊

myspace中国介绍了一下他们,给了一个官方的用户数和月PV和用户,相比校内,51,myspace的流量还是太低了

见到天涯的技术负责,InfoQ中国的主编,赞了一下InfoQ, 他们还是办得很不错的,比CSDN和JavaEye更吸引我

发现AOL在国内居然有office,就在清华科技园

自己一个人去的,又不太会自然的open a conversion,所以早早就出来了

也许是性格使然,也许是做技术多了,发现自己越来越孤僻了

别人一和我说上技术,就开始倾诉狂一样的说个没完

碰到其他的时候,就不知道说什么了,很无聊很尴尬

这个social party就是给大家提供一个平台互相认识,给用open social的平台一个展示的机会,给google一个宣传open social的机会

但是,相比校内和那次facebook的活动(据说活动上很多人关注校内),影响力还是差很多

最近也涉及到一些这方面的应用,自己还没有什么很好的想法,而且又很爱打击别人的想法,所以有些烦躁

自己应该多往“我能做什么,如何做好”考虑,而不是消极的“这事成不了,这想法没前途”

和这个party一样,我的社交能力太差了,认识的人少,自己也不能成为别人眼中"有趣的人"

另一方面,就像那天想了很久laser tag的想法,真的有一种能够做的更好的可能,但是这种依赖不止是代码的东西的时候,自己的能力是那么的有限,信心是那么的差

所以假设我现在资金充足,我也不知道我有多大的信心具体实施我的想法

2008/9/17

镭射战场 the laser tag war

镭射战场

Laser tag起源于欧美,现在已风靡全球。详细介绍有兴趣可以看wikipedia上的文章,http://en.wikipedia.org/wiki/Laser_tag 。在热播的美剧”How I met your mother”(老爸老妈浪漫史)和”Cashmere Mafia”(女人帮)中多次出现laser tag的游戏场景,可见其在北美的受欢迎程度。

我之前和同事们去玩过几次,有在红螺寺的红色基地,也有在香山脚下的某某训练营。今天和同事在车库走的时候发现,车库的环境也非常适合玩laser tag(国内俗称”真人CS”), 之前也想到过可以在更多的环境中开展,并且我参与的3次中大家对整个游戏的兴趣异常的高涨,但是犹豫硬件设备和运营上的问题,总是爽中掺杂着不少的遗憾。

经过一晚上的baidu和google, 找到两个有特点的例子来进行比较,

一个是总部在加拿大的公司Laser Quest, http://www.laserquest.com/,公司看起来很不错,从内容和外表都不怎么好的网站上确有一点很不错,他们很清楚的阐明了公司的Vision和Mission和他们是如何一个公司,运作一个什么东西。以下来自http://www.laserquest.com/,网站做的比较糙,但是公司的信条和对员工的态度很好,他们是”创造快乐”的地方,所以他们的员工也是他们的顾客,在公司将所有员工快乐工作,团队和个性培养作为一个很重要的角度去做。

Company Vision

To build a World Class organization that provides an outstanding entertainment experience.

Company Mission

Laser Quest is dedicated to bringing fun to life for its Customers and Employees by creating positive and memorable experiences.

With over 140 locations worldwide, Laser Quest is live action laser tag at its best!

The Game

Laser Quest combines the classic games of tag and hide & seek with a high-tech twist. Donning the most sophisticated laser tag equipment available, the game is played in a large, multi-level arena featuring specialty lighting, swirling fog and heart-pounding music. Questors, whether individually or on teams, use their lasers to score as many points as possible by tagging the sensors on their opponents’ equipment. Scorecards and code names add to the fun.

Whether you’re 7 or 77, the experience is exhilarating and immersive… with fun lurking around every corner. This is the ultimate in interactive entertainment!

Birthdays, corporate groups, team and social outings all enjoy Laser Quest.

A formal Education program and Corporate Teambuilding program make Laser Quest truly unique.

The Company

Laser Quest is a privately operated company, owned by Versent Corporation, and the corporate office is based in Mississauga, Ontario, Canada. Versent employs over 850 people across North America.

The first Laser Quest Center opened in 1989 in Manchester, England and there are now over 140 Centers worldwide. The first North American Center opened in 1993 and there are currently 58 Centers in operation in Canada.

另外一个是中国最大的公司,镭战俱乐部,他们网址在http://www.raywar.com,在百度一页多一点的右侧竞价广告和左侧一页”真人CS“的推广和半页“镭战”的推广中,可以看到即使在国内,大家的竞争还是很凶的。

从其网页上看,下面说说我喜欢这个公司的一些方面:

1,最专注的,其它大部分规模小,所以依托于某旅游景点或者军训场所。

2,网站做的不错,页面设计的不错,至少首页是如此,但是毕竟不是互联网公司,所有我看到那超过一打中的最好的了。

a, 首先选择了一个很好记的中文站名和注册明,“镭战”,虽然其域名是英文可能很多人不好记住,但是“镭战”这个不错。

b, 突出的tab明确的把几个大家最关系的问题放在很明显的地方。

“首页 § 镭战是什么 § 在哪里玩 § 如何参加 § 多少费用 § 会员福利 § 在线咨询 § 连锁加盟”

c,在每一个页面很明显的左侧栏放上,如何参与和推荐给别人,有点像开心网的方便的邀请好友来玩一样,虽然没有SNS那么深谐互联网的方式,但是能这样已经很牛了。

“您要做什么? § 组织公司员工参加 § 组织同学朋友参加 § 邀请商业伙伴参加 § 带孩子参加§ 自己参加 § 为什么选择我们 § email预定特惠信息”.

d,首页上的客户名单给和新闻都很不错,给来网站的潜在用户很大的说服力和鼓动。

e,他们的logo设计的不错,除了必须有的Raywar这个英文单词和”Everyone is hero”的slogan,镭战的logo很好,Raywar可能带来一些“洋气”,我不知道这个到底是好还是完全本地化更好一些,但是他们有很明确的品牌logo和与公司核心价值相关的slogan,这点就很牛了

f,说完页面上的说点页面背后的,它通过加盟的形势来做到了”北京“,”重庆”,”长沙“,”武汉“,”荆州“五个城市,规模和实力可见一斑

g,除了几个不错的固定的地点之外,还可以在”你的办公室”或者能够适合的任意的地点进行,下图来自http://www.raywar.com/where_detail.asp?id=128

20061127232643411

h, 他们也有自己的信条和Mission, 以下转自其主页,虽然我不是很感冒他们的这个,但是就像“基业长青”中所说的那样,关键问题不在于公司是否有“正确的”核心理念,或者是否有“让人喜爱的”核心理念,而在于是否有一种核心理念指引和激励公司的人。

在公司管理会议上,大家经常讨论的一个问题是我们的公司价值观、愿景、定位究竟是什么?

做中国乃至全世界最大、最好的经营镭战项目的公司?这个口号未免有点自我欣赏式的假大空。

虽然我们是国内这个领域最早的公司,

虽然我们有着最大的基地、最多的设备,

虽然我们在全国的连锁经营开拓最早、规模最大,

虽然我们的一切一直被绝大多数同行抄袭模仿,

虽然大大小小的竞争对手们不断在试图挖走我们的员工,

但这些,都只是特定时间段内公司经营情况的外部表征,它们并不能证明我们所从事的事业的价值!它们随时有可能被改变

最近,由于频繁的在与我们的客户、合作伙伴、员工甚至竞争对手做面对面的沟通,使我想起来,我们的目标其实很简单:做一家受人尊敬的公司。

受客户尊敬

受员工尊敬

受合作伙伴尊敬

受竞争对手尊敬

做到以上4条,我想 足以!

——刘翔

 

我认为这个公司的不足和可以改进的一些地方,

1,用户群单一,基本上都是一些公司team building的选择

2,推广和运营方式偏传统,过分依赖会员制和大量的优惠政策

 

整个市场存在的几个核心问题

1,设备陈旧问题多,人流量少,盈利少更更新不了设备,带来恶性循环

2,用户群过于单一,除了公司building, 在学校和小孩子中推广会有更大的市场

3,场地效率低,导致单位时间每个消费者费用过高

4,场地多在便宜租金的荒林中,形势单调

5,军训氛围严重,效率不高,导致用户对组织者的反感

6,运营推广效率差,没有进入很2的WEB 2.0时代,论坛内发展新用户效果不好,大多来自搜索引擎和朋友推荐。

 
If I do this

0, 像Disney学习,带给大家欢乐,用这种交互,公平竞争的,锻炼团队协作的特殊方式和风格

1,跟进最新的技术,改善设备水平

2,开发更多的场地利用率和组织水平,使用户娱乐中fun的成份更多

3,精益的方式来降低成本,已更低的价格带来更好的体验,来管理运营过程,保证用户的have fun

4,市内游乐场,经营不善游戏厅(在崇文门新世界和其它一些地方看到几乎没什么人玩)的地方开发室内的场地,计时,可以自己组队和按时间像看电影一样然后临时组队的方式,提高场地利用率。

5,更多利用互联网的宣传渠道,鼓励口口相传的推广

 
And beyond

在交互中带来快乐,用科技来拉近距离

 

最后摘抄一段laser tag的

PLAYERS’ CODE

I will not run, climb or jump.

I will not sit, kneel or lie down.

I will not cover any sensors.

I will not use offensive language.

I will not make physical contact with other players.

I will play fair, play smart and git it my all!!!

2008/9/13

bull shit

据完全不靠谱渠道得知,有人认为我感情上的问题是我期望别人对我好,而没有想到别人更期望有人对她好
shit shit shit......
啥叫对人好啊,我tmd就是期望有一个对她好的机会,人家都不给
they bet on a lot of bull shits, but they never bet on you, seems like you can't even bring
as much value as those shits.
闲扯无益,以后拒绝参加,md
创造实实在在能拿的到台面上的价值才有用,否则天大的关注面,半毛钱的影响力,一点用都没有
啥都一样
2008/9/12

预告:开始看chrome的代码

趁着中秋的假,开始认真看chrome的代码,下周发一个总结出来

很觊觎他v8的实现,究竟比spidermonkey和kjs有什么不同

他render的过程,能否在其基础上做一个支持onload js render的downloader

他的render代码,能否改进基于DOM分析的抽取器,甚至是基于视觉的抽取器

他的其他的美好特点,都是如何实现的

写在这里是为了激励自己不要偷懒

昨晚checkout了一晚上:P, 想不通为什么dev.chromium.org为什么被GFW了, 不是google的服务器吗,ft.

2008/9/10

向荷兰女子曲棍球教练学团队管理

奥运会的荷兰女子曲棍球给大家带来了深刻的印象

zz 自 世界顶尖运动队教练的成功秘诀

 

世界顶尖运动队教练的成功秘诀

作者 Urs Peter译者 郑柯 发布于 2008年9月4日 下午8时54分

社区
Agile
主题
领导能力,
团队协作
标签
管理,
教练和指导

上周我参加了一门有关教练的研讨会,其中有荷兰女子曲棍球队主教练Marc Lammers的主题演讲。在世界杯的历史上,这个团队是最成功的,曾获六次冠军。在听演讲的过程中,我意识到为什么这个团队可以取得如此卓绝的成就。她们的成功,在很大程度上,要归功于教练 Marc的执教方式。Marc Lammers发现了可以令团队释放全部能量的秘诀,大家不仅像一个整体一样齐心协力,每个人作为团队的一份子也各尽所能;而这一切都以意想不到的方式发生。我的的确确得到很多启示。本文总结了他发现的原则,并描述了这些原则如何应用到软件开发之中。

我本人作为一个Scrum Master,发现他揭示的原则可以在我自己的Scrum团队中使用。原因在于,这些原则从本质上适用于任何团队,无论这些团队是装配汽车、打曲棍球或是开发软件。本文中,我希望分享一些Marc Lammers在研讨会中提供的执教秘诀和经验,并说明如何在每日的Scrum和项目实践中使用这些知识。也许,即使有了它们你也无法获得世界杯,可如果不注意使用,团队的所作所为也许会令你和客户大跌眼镜。

原则1:
利用有效沟通的威力

Marc Lammers提到:

在执教生涯的早期,我花了很多时间和精力,来让大家明白我的所作所为。所以,我会在冗长的演讲中,向团队阐述我那聪明透顶的执教理念。为了确保大家都能收到传递的信息,我会问:‘大家都明白了吗?’人人点头,我也心满意足。然而,大家比赛时的表现证明:她们根本没有理解。
她们好像根本没听我说。所以,我开始施以更激烈的方式——大声训斥。很不幸,这根本不起作用。我跟我自己的教练说,跟这帮无能的聋子们一起,不会取得任何成就。他却说这全是我的错。他把沟通研究的结果给我看,研究发现:一个人所能记住的东西:
  • 对于听到的能记住10%
  • 对于看到的能记住35%
  • 对于同时听到和看到的能记住55%
  • 对于自己重新表述的能记住70%
  • 对于自己重新表述并且动手做的能记住90%
这使我恍然大悟。我开始使用开放式的问题,让她们可以重新复述我的策略,并创造彼此之间可以对话和互动的空间。这样一来,她们不只可以更深入地理解我的想法,我也开始了解她们的考虑,并从中受益良多。从那时起,我在赛前的叮咛嘱咐终于可以在比赛中得到充分的贯彻。

至于Scrum,我可以在各种交换领域或信息的场合中使用这个原则。设计讨论、向开发人员或业务人员沟通需求、向业务人员或新的团队成员解释开发流程,或者你想到的其他场合,都是适用的。这些时候,使用开放式问题、对话风格的沟通、重新描述等沟通方式,可以极其显著地提升彼此的共识;因为这些方式强迫所有的参与者去发现他们真正理解或思考的东西。由此而构建起来的互信和互敬的关系,在我看来,是最重要的生产力提升因素。

其实我早已在每天的Scrum实践中发现了这些法则。不过,能够知道高效沟通带来的诸多好处,这已弥足珍贵。

原则2:
只有做事方式不同,才能产生不同结果。

上述的沟通故事中还包含了另一个重要原则。Marc Lammers知道自己一开始的沟通方式失效之后,他先采用了更严厉的方式,却没有反思自己的所作所为。我想这是人的本性使然。如果得不到期望的结果,我们就会以为是因为力度不够。因此,我们会工作更长时间,以更严厉的方式谈话,投入更多精力,在周末也努力工作,等等等等。大多数情况下,正像Marc的经验所证实的,我们都无法取得进展。当他换了一种完全不同的方式来看待问题之后,才取得了原本想要得到的结果。

这个原则有许多适用场合。想想Scrum是如何推进估算的。以前用功能点估算,与特定团队的交付能力无关;而Scrum会根据有经验的团队的开发速度和故事的发展程度进行点数估算,实践证明,这样做的准确性出人意表。所以,Scrum不会去修正功能点数使其日臻完美,而是采取了完全不同的方式,在简单性和准确性上收效显著。

该原则常被误用。有一个典型的例子,当截止日期来临之际,人们经常被要求去加班工作,即使以当前这些人力已经明显无法在最后期限之前完成。顺便说一句,这样做也许是必要的,可实际上,这样做已经证实只是对症状的治疗,长期来看,毫无意义。不仅会对团队的精神和团队成员的健康造成严重伤害,同时会影响软件的质量。bug率会提升,而且还会耗费更多人力在修复引入的bug上。通过加班解决问题,只能让事情变得更糟糕。

为了解决这个问题,Scrum提供了一种更好的方式——使用紧急处理流程。其本质上是利用前述原则的一种具体应用方式。如果最后期限无法达成,而且事态很明显,Scrum的紧急处理流程会建议考虑下列行动:首先,举行一次回顾会议,为了激发生产力,看看可以移除哪个主要障碍。其次,如果通过实施步骤一,没有带来明显的生产力提升,考虑哪些具体的任务可以外包给专家完成。这个专家不会成为团队一员,他所解决的问题应该是相对孤立的,而且团队不具备解决这些问题的专业技能。第三,如果没有这样的任务,试试重新划定范围吧。最后,如果客户不同意重新划定范围,当前的sprint就必须中止了。

总的来说,有勇气去从根本上考虑改变当前的做事方式,是在组织长期运转中唯一的结构化解决方案。真要这样做,即使前路上充满艰难险阻,达到预期目标的机会也会大大提高,因为团队不再会被送到死亡征途之上。

原则3:
创新是得到更好结果的绝佳方式,却不是目的;
而且,要小心副作用。

Marc Lammers说:

我总是在找创新的方法。在奥运会的比赛中,我很想指导她们如何发小角球,却发现在场外很难看到比赛的关键环节。我们以前是通过赛后分析录像片段的方式,可这对我来说太迟了。我希望可以实时进行。
我在视频课程上得到启发,用一个电视摄像机接上长长的线,再连到笔记本上,可尝试了几次都不成功。在笔记本的屏幕上能够看到几个小窗口,从中可以看到摄像机实时捕捉的镜头。后来我试着联系了一些工程师,几个月之后就可以测试第一个原型系统了。从那时起,我就可以向队员们给出更细致的指导了。
想创新,我有三个要点想告诉你们:
  1. 创新必须是为目的服务的。有很多次,我都想为了创新而创新,这不会带来任何改善。创新必须要能解决一个实际问题。
  2. 每次创新都伴随着成长的烦恼。别指望它初战就能告捷。要不断进行调试和优化,直到它能带给你想要的竞争优势。
  3. 创新会导致抵触。总有人对新事物有畏惧情绪。这个事实有两个含义:首先,当你遇到抵触时,你也许已经找到了真正的创新方法,所以为自己感到骄傲吧。其次,找到应对抵触的方法。不要指望别人喜欢你的新奇想法,要给他们接受和习惯你的想法的时间。

我坚信:如果我们在开发软件时认真考虑这些简单的智慧,很多项目都可以成功。它教导我:

  • 关注目标:以我的经验来看在工具的使用上,有一种很明显的状况:很多用法都没有考虑是出于什么意图。我见过很多项目都是以工具为中心,而不是以结果为导向。人们总在考虑如何有效地使用工具,而不是如何交付更好的软件。这就是为什么“开始时不适用任何复杂的工具”在实践中如此成功的原因。使用白板和即时贴,经常要比使用一系列复杂的工具要来得更为有效,因为这会强制团队进行互动,而且把精力都放在面前的问题之上。
  • 关注阵痛:项目环境的改变很容易带来阵痛。新成员的加入、新技术的使用、新流程的启动等等都是如此,而一开始人们总是会过于乐观。知道“阵痛”是变革的必然后果,这可以让我们对未来有更为实际的期待,而不是过于乐观。
  • 关注抵触:举例来说,向组织中引入诸如Scrum这样的敏捷开发实践,通常都会引起抵触情绪。Marc的故事让我认识到此类反应的存在,并帮我找到应对的方式,而不是匆忙下结论再与之斗争。介绍新鲜事物时,给予有抵触的人以耐心和关注,这比无情的“说服”和强力推动要来得更为有效。

原则4:
不断挑战工作方式

Marc Lammers说:

我们的训练包含很多30米冲刺。团队总是要反复做这个练习,因为多年来30米冲刺练习已经是众人皆知。后来,我想分析下在比赛中的奔跑模式。要想做到这一点,在一些培训课程中,我们为每个球员配备了GPS。再分析其中的数据,平均来看,一名球员15米冲刺的次数要超过30米冲刺的次数。有鉴于此,我们可以让培训计划更符合实际需要。又一个小的改进诞生了。

这个故事教给我两件事:

  1. 不断问自己为什么要做正在做的事。要完成某项活动,是因为以前“总是”这么做么?还是因为这项活动真的可以为整体增加价值?它具体能带来什么价值呢?它跟必须要做的工作有什么关系呢?
  2. 如果不能对上面的问题给出一个满意的答案,开始收集数据、衡量效果吧。只有衡量了才能知道是怎么回事。衡量可以让我们评估对策和调整的效果,看看是否有所收效。衡量可以很简单,比如“停止某项活动,看看会发生什么”。

以我的经验,每天都有很多时间被浪费掉了,因为我们把眼前的工作方式视为理所当然,而且不去质疑它的好坏。反复重复某项任务,可以让它看起来很合理,即使没有添加任何价值。从提升效率的角度考虑,通过衡量变化来质疑现有的工作方式,这是很有效的。

原则5:
关注人的长处而不是弱点

Marc Lammers说:

我们曾有个球员,她总是很难得分,因为她的反手球技很差。我想尽办法训练她的反手,但是毫无进展。尽管我们投入很多心血,但她就是无法进步。由于大家都关注她的反手,所以其他球员总传到她的反手,这也就难怪她总是处理不好了。
当我濒临绝望之时,我问她想怎么打球?她答道:‘实际上,我喜欢用正手’。知道了她的喜好之后,我们开始训练她的正手。可我几乎不敢相信我的眼睛:几乎所有的来球,她都可以处理得完美无缺,又快又好。经过一些有针对性的训练之后,她的正手得分率达到了以前的三倍。
我一开始的方式,显示出整齐划一的训练方式是多么愚蠢。以10分的范围计,我想然让她的反手技术从4分提升到6分,可是她的正手天生就能达到8分,由于没有训练,也蜕变成6分了。经过正手训练后,她的正手从8分上升到了9分,这让她卓尔不群。以前试图关注她的弱点而不是长处,这是多么大的浪费啊。

如果一个团队成员不能按照他/她应有的方式表现(比如不守纪律、没有经验、思维混乱、毫不友好等等),通常关注点都放在了这个人的负面表现上。这个故事告诉我:通过有意识地发现一个人的技能而不是短处,不管是对于这个个人还是团队,都能得到更好的结果。如何找到方式容忍这个人的缺点,并发挥他的长处,这才是关键。

原则6:
为团队指出明确的努力方向

Marc Lammers说:

我过去认为:在比赛之前要激励团队,可以用类似这样的话:‘我们必须要赢,否则就要被淘汰了。’而效果却适得其反,这不能让她们表现得更好。一开始我总是不知道原因何在,现在我知道了。问题在于,一个队员无法仅靠一人之力影响比赛的结果。即使她已经拼尽全力,还是有很多她无法控制的因素在决定着比赛胜负。这种无力感让队员们感到紧张和焦虑,并因此无法将能力发挥到极致。
我认识到:胜负只是我们比赛方式的结果。好消息是:每个人都可以通过自己的方式来影响比赛。所以我们不在比赛前讨论胜负,而是小心重复我们的策略,还有每位球员必须要注意的自己的事情。这就更加具体,而且也易于控制。通过这种方式,队员们比以前更放松了,而且可以发挥最高水平。有比赛结果为证。

作为ScrumMaster,从上面的事实中我发现:提前一年告诉团队“我们必须交付某些特定功能”,这毫无意义。大家对此无能为力,并因此而士气低落。即使是在一个sprint中,提醒团队交付他们事先答应要完成的功能,这也没有任何价值,只能给团队增加压力。如果大家缺少压力的话,这样做可能会有效果,但是绝大多数情况下下,压力不是问题的根源。

Marc的收获告诉我们,要把注意力放在能使团队或成员生产效率有所提升的小改进上。是不是有什么障碍让团队无法取得进展?对于团队不熟悉的技术,我们是不是可以雇佣一个相关领域的专家?要是有人陷入困境却不愿意让人帮忙,是不是可以采取结对编程呢?时间有没有被消耗在毫无价值的文档之上?类似的具体问题是可以控制的,解决它们会自然而然提升生产率,同时增加了项目按时交付的机会。

原则7:
眼光向内,只见局限;眼光向外,可能无限。

Marc Lammers说:

在曲棍球里面,有38种发小角球的方法。进行比赛时,我会发出指令告诉队伍应该如何发小角球。为此,我制订了一套复杂的身体语言,所有的队员都要认真学习。可是对手把这些记录了下来,而且做了分析,最后发现了我们的秘密。后来,他们就知道了我的战术意图,我们的优势也将会因此而消失。
一个偶然的机会,我受邀加入了参加环法的荷兰自行车队。我意外发现,他们一直用无线电与车手保持联系。我想:“天哪,要是我们能这样做,那优势不就又回来了?”回来之后,我偷偷地研究了规则,发现没有提到任何关于无线电的内容。因此,我就假定这一定是允许的。后来我跟一家制作无线电的公司取得联系,要他们制作耳塞大小的设备,因为自行车手用的太大了。经过一些调整后,第一个原型可以运作了。
最有意思的是:我们一直把这个创新当成头等机密,而且继续用身体语言来迷惑对手。在一年半的时间里,都没有人发现我们的秘密,而且将对手玩弄于股掌之间。

在敏捷和Scrum中,有部分实践属于另外一种工作方式,即丰田的精益原则,我们将其运用到软件行业。显然,有人已经有过类似的主意了……

从Scrum的角度看上面的故事,我发现如果Scrum从其他相关方法论中借鉴一些实践,它就可以变得更加强大、适用范围更加广泛。可以举几个例子,统一过程的以架构为中心(architectural-centric)、以风险和用例驱动的方式,XP的可持续开发速度思想、测试驱动开发,以及适合我们自己情况的结对编程等等,这些我都用过,而且从中获得很多宝贵经验。借鉴其他方法论,可以创建出适合个人需要的流程。

教给我,要用不同的眼光去看待其他与软件开发无关的领域,并取其菁华。世界上有很多有价值的东西,如何发现并将这些东西集成到我们的日常工作中,这是一门艺术。

原则8:
目标越重要,积极性越高

Marc Lammers说:

从金钱的角度来看,谁想成为一名曲棍球运动员,这个人一定是疯了。她们只能收到一点可怜的奖金,这点钱连生存都难以维系。尽管收入匮乏,申请者依然甚众。获胜并成为胜利团队的一份子,这会被全世界媒体报道,这样的感觉要比金钱或其他什么来得更强烈。

从理论角度分析,开发人员写一个类,不管出于什么意图,都无关紧要。实际上,这是有区别的。写这个类,是为了一个技术类库,还是为了内部的工具项目,甚或是为了新的NASA站点而写、以供实时跟踪去火星的探险活动,其产生的结果会完全不同。

Marc的体会提醒我:激励团队的最好方式,就是让他们觉得自己目前的工作非常重要,而且可以改变世界。有些项目本身就可以产生这样的感觉。交付之后,媒体会来报道这些项目,作为广告大战的一部分,或是对社会产生影响。这些案例不需要费太多力气去激发团队的士气。

不过,大多数项目都不会有很多人了解,即使它们可能非常难以实现。只要提升项目对外的能见度和重要性,不需要花太多激励措施,大家的积极性就可以激发出来了。举例来说:

  • 庆祝一次成功发布。邀请“重要”人士到场,请他们发言表示感谢,并说明项目对他们的重要性。
  • 让用户知道新版本的发布或是项目进展,也可以发布到公司的新闻里面,通过这些措施,让公司知道你在做什么。
  • 邀请部门老大或是CEO来访问项目,并将他介绍给团队。

认识到激励的重要性,这可能是提升项目生产力的关键因素。

结语

上述诸多原则听起来都像是常识。不过,要知道,是这些常识的应用让荷兰女子曲棍球队成为了世界上最好的球队。虽然有了这些理论和原则,如何在实践中做到合理运用、收放自如,这才是艺术。当我听到Marc Lammers演讲的时候,我意识到了他是如何做到的:快乐的激情、不断的自我反思、以及发现和实验全新工作方式的渴望。

这让我得到了最后一条原则:

将竞争精神、乐趣和有益的自我反思结合在一起,上述种种原则会自然实现。

就是这么简单。

尾注

Marc Lammers已经完成了一本关于他的执教收获的著作,请移步至www.marclammers.nl查看。

关于作者

Urs Peter是Xebia的资深咨询师,专长于敏捷软件开发领域。他已经参与了多个大型产品的开发,其中用到了敏捷方法论,比如Scrum和Agile-RUP。目前,他在一个高效的分布式Scrum团队工作,为荷兰特路公司交付下一代信息系统。关于他目前的项目,可以查看《案例分析:荷兰铁路公司的分布式Scrum项目》一文。

2008/9/9

暖暖的心

 
2008/9/8

周日去看了残奥会轮椅篮球的比赛

澳大利亚队巴西的比赛很精彩,最后时分逆转

场边的一家澳大利亚人很吸引大家眼光,大大的黄绿条帽子,一个大大的袋鼠

运动员们都很好样的,偶尔会被撞倒,但是很快就坚强的起来了

团队合作也非常好,大家回想鼓励,摔倒时互相帮助

后来中国队和英国的比赛,小胡也去了,虽然中国队差距还很大,但是还是吸引了

满满的人群去加油

回来引的我重新思考了自己对各种比赛竞争的想法

从前重视太注重负面的作用,觉得有些地方太恶心,对人性的平和,和君子不争的不符

现在我觉得也许大家都需要一个舞台来展现自己的价值

给努力的人以更大的回报

能够在越大的舞台舞出自己的精彩一定会很开心

 

我是王家珧的blog上看到这个,当我说了真的那就一定是真的。

"""是我的过分敏感,和时常作祟的自卑。

我是一个缺乏自我肯定,不知道自身优点在哪里的人。

所以早先我不明白是我身上的什么因素导致很多人对我的负面评价。

尽管我知道那些评价听起来是多么尖酸刻薄,可还是责问自己,我做错了什么了吗?

是我先伤害到谁了吧……?

心里分析认为过分敏感的人,性格中混杂着羞怯、负罪感和自我惩罚的愿望。

我就的的确确是这种人。

永远也不敢说自己好,永远觉得自己要去做的更好,却也永远到不了最好的人。"""

 

bloodtears

 

最后,在奥林匹克公园和场馆里看到好些pp的志愿者mm,笑的真好看,呵呵,有人说林志玲的威力相当于某军事单位部队,我觉得微笑的力量才更强大。

我要微笑着面对惨淡的人生和淋漓的鲜血。

2008/9/7

欢乐谷里寻欢乐

昨天和同事们一陀人building去了欢乐谷,去了4人一组,兵分n路各自玩

qs同学前一天上网看攻略,所以抱着玩最刺激好玩的项目出发

可是我不想玩很刺激的,也不想等长队,于是一路怨念:P

等了80多分钟的激流勇进还是不错,不过排队到吐血,相当的不爽

两个大的俯冲水花溅的不少,但是身上还一般,最贱的是在回到起点的路上几个很贱的水炮把大家都打湿透了

有个什么“金翅”的过山车,我总称之为“鸡翅”,也是排了一个小时

然后失重旋转的还是挺心跳的,也许这是很多人来的目的吧,来感受心跳

跳楼机也是排了一个多小时,几秒钟跳楼的心跳,还没感觉就下来了

一来就玩的飞船,看了看欢乐谷的全貌,也就是那几个大项目比较吸引人气,整体公园一般

旋转木马是我的最爱,哈哈,还是挺好玩的

总的来说一路上为了玩几秒钟心跳等的相当的难受,站得很辛苦,然后好多人的汗臭味,我不喜欢这个地方

看到一些好玩的小朋友玩的很开心,虽然这个公园不怎么适合小孩子,可能我和他们一样,因为能够不宅在家里出来放风一次也就很兴奋了

没来过欢乐谷,但是它之前给我留下了阴影,而且现在没有任何出去玩happy的心态了,能让我最开心的是看到我喜欢的人开心,但是这个不可能发生了

I don't know why, I don't know how.

 

火星金星说的女人的6个情感需求是

Caring, Understanding, Respect, Devotion, Validation, Reassurance

男人的情感需求是

Trust, Acceptance, Appreciation, Admiration, Approval, Encouragement

看到很多人情感需求无法满足,然后把这些需求带入到生活中其他部分,比如最不恰当的工作当中,也解释了为什么男人们都争着体现价值感,因为没有了它,就像superman没有了他的super power.

 

回来的时候去京深狂吃了一顿海鲜,晚上一回来,腿累的不行,在沙发上一下就睡着了,一睡到早晨4点,呵呵,这样的折腾还真受不了,成为被某些人b4的老男人了。

一会去看残奥会篮球,回来有空了再来分析分析如何能把欢乐谷这个产品做的更好。

2008/9/5

先人后事

最近看完了《从优秀到卓越》(Good to Great),正在看《基业长青》(Build to last)

“先人后事”给了我最深的感触

如果问这两天互联网上什么最火,我想google chrome应该会排的很前

IE team这会正被郁闷着呢吧我想

看了这篇文章,The story behind Google Chrome

大家来看看是什么样的团队打造了这样一个产品吧

最后废话一句,一定要牛逼,牛逼了才能体现价值

这是一个“当男人不得不用金钱证明自己价值的时候,当女人不得不一再降低爱情标准的时候……”的时代

Meet the Team

Google Chrome team leads

I am tracking at least 20 people involved in the Google Chrome project across Google. I'm sure Chromium commit logs will reveal even more, but below is a quick summary of Chrome staff.

Brian Rakowski, Lead Product Manager
Brian was Google's first associate product manager in 2002, assigned to Gmail. He later worked on the Google Browser Sync Firefox plugin.
Ben Goodger, Software Engineer
Ben is the former Firefox 1.0 project lead. He also authored the Firefox extensions system. He joined Google as 2005.
Mike Pinkerton, Technical Lead
Mike is one of the Google team members responsible for bringing Chrome to the Mac. Mike worked at Netscape and later on the Gecko-powered AOL client before co-founding the Camino project. Mike joined Google in September 2005 and continues to lead Camino development.
Darin Fisher, Software Engineer
Darin was a frequent contributor to the Firefox codebase. He specialized in network libraries, cookies and permissions, and the Netscape Portable Runtime. Darin joined Google in 2005.
Lars Bak, Software Engineer, V8
Lars was the core developer on Java HotSpot VM and MontyVM in J2ME for Sun. He co-founded object-oriented VM companies for embedded devices before joining Google. Lars worked on V8 from a farm in Århus, Denmark before moving the team to university offices.
Kasper Lund, Software Engineer, V8
Kasper shares a long history with Lars Bak working on virtual machines.
Brian Ryner, Software Engineer
Brian is a former contributor to Firefox where he added mousewheel support, tweaked the Gecko rendering engine core, password management, and Linux installers.
Pam Greene, Software Engineer
Pam is a long time Firefox contributor. She added OpenSearch to the browser and contributed to full-text search in Places/AwesomeBar.
Ian Fette, Product Manager
Ian is a former Firefox contributor who worked on anti-phishing, anti-malware, spelling correction, and the Safe Browsing API.
Arnaud Weber, Software Engineer
Arnaud is a former Director of Research and Development at Netscape and Borland before joining Google to work on a "secret project" in September 2006.
Brett Wilson, Software Engineer
Brett formerly worked on the Google Toolbar. He contributed to Firefox history and bookmarks functionality.
Mike Belshe, Software Engineer
Mike helped write an Outlook add-on called Chrome for Lookout Software before being acquired by Microsoft. Mike also formerly worked at Netscape and Good Technology.
Huan Ren, Software Engineer
Huan works on network flow control, negotiating browser interactions with network resources. Huan formerly worked at Microsoft.
Erik Kay, Software Engineer
Erik formerly worked on the AvantGo browser, Qurb anti-spam software for Outlook and Outlook Express.
Glen Murphy, Software Engineer
Glen specializes in user interface design. He previously worked on user interface. Firefox extensions. Google Browser Sync, Google Blog Search
Evan Martin, Software Engineer
Evan writes automated testing tools for Chrome and the Web.
John Abd-El-Malek, Software Engineer
John is part of the Windows specialist team at Google bringing Google Desktop, Google Talk , and Breakpad onto Windows XP and Windows Vista.
Amanda Walker, Software Engineer
Amanda is one of the people responsible for Chrome's upcoming Mac version.
Mark Mentovai, Software Engineer
Mark was heavily involved in moving Firefox for Mac to its current Intel-based architecture. He has worked on the Breakpad project and many levels of Chrome's code.
Carlos Pizano, Software Engineer
Carlos formerly worked on GreenBorder and continues to work on Chrome sandboxing.
Mark Larson, Program Manager
Mark is also formerly of GreenBorder and its sandboxing specialties.
Aaron Boodman, Software Engineer, Gears
Aaron improves user experience with JavaScript. He's best known for his work on Gmail, Greasemonkey, and Gears.
2008/9/2

google chrome will release tommorrow

才在google黑板报看到这篇浏览器的新视角

明天传闻已久的google的浏览器就要发布了

javascript engine v8 还有完全开源的代码

让人很激动啊