坏蛋终于赢了一回

前几天在MM的推荐下看了《超级大坏蛋》,果然不错,超人算是被他恶搞惨了,而且好玩的是邪恶的坏蛋们终于赢了一次,这是我期待已久的结果,虽然最后变成了好人,而且赢的那一次也是好人在放水,但是终究做为坏蛋,赢一次确实太不容易了。

对超级坏蛋们的同情说起来应该来源于美国的英雄片,英雄们总是那么牛x,就像这部电影里面说的一样,他们一般都有着与生俱来或者不知道怎么的就获得的超凡能力,闪电侠被闪电劈成了英雄,绿巨人和神奇四侠被辐射辐射成了英雄,蜘蛛侠被蜘蛛咬成了英雄,超人和神奇女侠之类的就更加舒服了,出生就注定是英雄。而相比起来,一个坏蛋要上台面和超级英雄对决,继而成为超级坏蛋就实在是太难了。

英雄片中,要成为超级坏蛋,一般需要有几个要点:
1.超级坏蛋的目的必须单纯,而且必须庞大,比如毁灭世界之类的,不然气场就没有了,就收不到小弟了。
2.超级坏蛋一般不会有女朋友,即便身边美女如云,他也必须把自己当做和尚一样。英雄们则可以随便,比如大色狼金刚狼。
3.超级坏蛋必须精通各种科技,因为要毁灭世界,即便有超凡的能力还是不够的,他需要建造出足够强大的武器,而且效果要华丽。而英雄们一般不需要什么大脑,他只需要冲上去摧毁这些东西就可以了。

最后坏蛋穷尽一生的心血,好不容易才能和英雄们来了一场生死决斗,虽然过程可能很危险,但是最后总是被英雄们搞定,这就像一个公理一样,主角永远不会死,坏人永远不会赢。

而这次,坏蛋终于赢了,梦工厂算是打了一次擦边球,因为没有人希望坏蛋会赢。而他们这次造出了一个目的单纯的可爱坏蛋,他就是想搞定从小就出尽风头的超级英雄而已。呃,不能再剧透了。大家还是直接看电影吧。

对于英雄片,不知道何时才能出现更多的人类英雄,比如Batman之类的,多利用高科技,少用超能力。倒是坏蛋们应该多点超能力了,不要再一个比一个苦情了。

Posted in 06 Screen Sucker. Tags: . 没有评论 »

下歌的地方又少了一个

Verycd又被捅了一刀,音乐部分被阉割掉了,找歌的地方又少了一个。。。FT。。。

Posted in 01 My Soul Apogee. Tags: . 没有评论 »

Google Breakpad 完全解析(一) —— Windows入门篇

Table of contents for Google Breakpad 完全解析

  1. Google Breakpad 完全解析(一) —— Windows入门篇
  2. Google Breakpad 完全解析(二) —— Windows前台实现篇

原创文章,转载请标明出处:Soul Apogee (http://bigasp.com),谢谢。

Google breakpad是一个非常实用的跨平台的崩溃转储和分析模块,他支持Windows,Linux和Mac和Solaris。由于他本身跨平台,所以很大的减少我们在平台移植时的工作,毕竟崩溃转储,每个平台下都不同,使用起来很难统一,而Google breakpad就帮我们做到了这一点,不管是哪个平台下的崩溃,都能够进行统一的分析。现在很多工程都在使用他:最著名的几个如Chrome,Firefox,Picasa和Google Earth。另外他的License是BSD的,也就是说,我们即便是在商业软件中使用,也是合法的,哈哈,这么好的东西,我们能放过么?现在就让我们来看看这个神奇的软件吧。

原理简介

breakpad抓取dump的方式和一般我们抓取dump的方式不一样。在breakpad的wiki上有一幅图可以很好的概括他的原理。

breakpad把应用程序分成三个部分,代码,breakpad客户端和调试信息。

1. 在build system中,通过symbol dumper用平台相关的调试信息生成平台无关的symbol文件。这样做的好处很明显,一旦平台无关了,所有平台的崩溃就可以做统一的分析了。
2. breakpad采取进程外转储和分析崩溃的方式,他使用C/S结构,客户端用来捕获当前进程中发生的崩溃,并通知服务端崩溃发生。服务端用来响应客户端,抓取dump文件。这样做的目的是为了减少崩溃进程对dump的影响。
3. Dump生成后转发到崩溃分析器中,这个部分可以在本地也可以在服务器上,他对Dump文件进行解析,生成可读的堆栈信息。

这就是breakpad处理dump大概的流程。

对于原理的介绍google写的已经相当好了。更多的详细信息,可以直接移步到breakpad的wiki

安装和编译

breakpad的编译比较曲折,所以在此记录一下。

编译breakpad,请确认你的机器上装有以下的软件:
1. python 2.4.3
请不要使用python3,会报错。另外python2中推荐这个版本,使用新的版本在编译其他google的工程时有时会报错

2. Windows SDK 7
如果没有这个,编译会报错。另外这个是在线安装,时间很久,最好并行做其他的事情。

3. VS2005的补丁
KB918559
KB926601
KB935225
KB943969
KB947315

已经安装了以上软件的童鞋,就可以开始进行下面的工作鸟

1. 使用svn把代码checkout下来

# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://google-breakpad.googlecode.com/svn/trunk/ google-breakpad-read-only

2. 设置Windows SDK 7
装过其他版本Windows SDK的童鞋,记得一定要进行这一步,SDK的安装程序,并不会帮你设置VS。
运行开始菜单->程序->Microsoft Windows SDK v7.0->Visual Studio Registration->Windows SDK Configuration Tool,选择v7.0,点击Make Current。

3. 为python设置环境变量
由于breakpad使用python来生成Windows下的工程文件,所以需要将python所在目录,设置到环境变量PATH中去。

4. 生成Windows工程文件

cd "源码目录/src/tools/gyp"

# 注意,此处不能使用全路径,不然会出错
gyp.bat "../../client/windows/breakpad_client.gyp"

此时,在src/client/windows下就可以看到生成好的breakpad_client.sln了。运行吧!

5. Hello World!
编译build all,现在一般是不会报错了,如果报错,请检查是不是漏了什么步骤,特别是补丁。
编译完成之后,运行crash_generation_app吧,这是他的测试程序,dump的默认位置保存在C:Dumps下,请注意先建立好目录,不然会无法使用。
启动测试程序之后,此时还不能抓取dump,因为这个是breakpad中的服务器端,需要再启动一个测试程序,在第二个测试程序中,我们就可以试验Client菜单中的各种崩溃了。这些崩溃都会被抓住转存到C:Dumps目录下。

如何使用breakpad

在Windows下使用breakpad的方法很简单,只需要创建一个ExceptionHandler的类即可,大家可以在crash_generation_app这个工程中找到示例代码,也可以直接移步Wiki,上面说的也很详细。

1.进程内抓取Dump文件

进程内抓取Dump文件是最简单的breakpad的用法。使用方法很简单:

const std::wstring s_strCrashDir = L"c:\dumps";

bool
InitBreakpad()
{
    google_breakpad::ExceptionHandler *pCrashHandler =
        new google_breakpad::ExceptionHandler(s_strCrashDir,
        onExceptionFilter,
        onMinidumpDumped,
        NULL,
        google_breakpad::ExceptionHandler::HANDLER_ALL,
        MiniDumpNormal,
        NULL,
        NULL);

    if(pCrashHandler == NULL) {
        return false;
    }

    return true;
}

2.进程外抓取Dump文件

使用进程外抓取Dump时,需要指定服务端和客户端,在服务端中需要创建CrashGenerationServer的实例,而在客户端中则只需要创建ExceptionHandler即可。此外,如果服务端自己需要抓进程内的Dump,请将pipe的参数置为NULL。

const wchar_t s_pPipeName[] = L"\\.\pipe\breakpad\crash_handler_server";
const std::wstring s_strCrashDir = L"c:\dumps";

bool
InitBreakpad()
{
    google_breakpad::CrashGenerationServer *pCrashServer =
        new google_breakpad::CrashGenerationServer(s_pPipeName,
        NULL,
        onClientConnected,
        NULL,
        onClientDumpRequest,
        NULL,
        onClientExited,
        NULL,
        true,
        &s_strCrashDir);

    if(pCrashServer == NULL) {
        return false;
    }

    // 如果已经服务端已经启动了,此处启动会失败
    if(!pCrashServer->Start()) {
        delete pCrashServer;
        pCrashServer = NULL;
    }

    google_breakpad::ExceptionHandler *pCrashHandler =
        new google_breakpad::ExceptionHandler(s_strCrashDir,
        onExceptionFilter,
        onMinidumpDumped,
        NULL,
        google_breakpad::ExceptionHandler::HANDLER_ALL,
        MiniDumpNormal,
        (pCrashServer == NULL) ? s_pPipeName : NULL, // 如果是服务端,则直接使用进程内dump
        NULL);

    if(pCrashHandler == NULL) {
        return false;
    }

    return true;
}

使用breakpad的时候,有两个地方需要注意:
1. 记得把breakpad的solution下的几个工程,包含到你开发的工程中,或者直接包含他们的lib。
common:基础功能,包含一个对GUID的封装和http上传的类。
exception_handler:用来捕获崩溃的类。
crash_generation_server:breakpad的服务端,用来在产生崩溃时抓取dump。
crash_generation_client:breakpad的客户端,用来捕获当前进程的崩溃。

2. 在初始化breakpad之前,记得先创建好dump文件的目录,不然breakpad服务端将不能正常的写dump,这会导致breakpad客户端在崩溃时无限等待服务端dump写完的消息,最后失去响应。

《重构》读书笔记 —— 如何让你的代码变得更好

原创文章,转载请标明出处:Soul Apogee (http://bigasp.com),谢谢。

好不容易读完了重构——2010年下半年唯一读了的一本书。只能说这半年以来很忙,来了北京之后连个喘息的机会都没有,半年都没有管过博客了,写写读后感,就当作是除除草吧。
以下只是我的一些读书笔记,不过虽然是笔记,但是里面并没有关于重构方法的细节记录,而只是粗略的记下了我理解的重构的大致思路。和《重构》这本书不同,这本书本身说的很细,作者把每一步重构的都拆成了很小的步骤,每一步都可以轻松的回滚,所以有兴趣的可以去看看这本书,肯定都会有一定收获的。
我现在只是一名小菜,过段时间之后,我自己回头看这篇文章,可能都会觉得自己很傻,所以如有不对,还请多多指教,如果实在看不顺眼,就请纯当笑话看吧。
好,下面进入正题。

注:因为是读书笔记,所以可能会有抄袭等等奇奇怪怪的问题,如果发现有版权问题,请联系我,我会尽快删除本文。

===================== 我是欢乐的分隔线 =====================

重构的目的

我们总希望自己的代码能写的更加好看,以至于我MM把我写代码比喻成为打扮自己。没有错,代码就是一个程序员的外表。而重构就是为了让你的代码更加好看。
但是仅仅是好看而已么?
不是,好看意味着简洁,好理解,好维护,好扩展。这就是我们真正要达到的目的。
那这些目的最终又是为了完成什么呢?我们最后再说。

设计模式和重构

设计模式想必大家肯定已经不陌生了,平时在开发的时候,大家也肯定用过各种各样的模式来解决遇到的问题。而当你现在手头的代码使用的模式不能很好的支持你继续开发的时候(可能是不够灵活,也可能是过于灵活),你就需要使用重构来修改它,将你的代码变得更加优雅。

重构与测试

重构与测试的关系为什么要写在前面?因为测试实在是太重要了。
我在最近的项目中备受重构的挫折,为什么?因为没有测试。和很多程序员一样,经常迫于项目的压力,没有时间去实现一些测试用例,或者有些测试用例不方便实现,等到需要重构的时候,问题就出现了。

“我不敢改这段代码,改了要是出错了怎么办?”
“但是这个版本一定要有这个功能啊。”
“那我尝试着改吧,出了错再调。”

如果连这段代码的作者都这么说,谁还敢改这段代码?而偏偏修改中又引入了其他的Bug,结果就是和这个功能相关的所有人都为此买单。大家的时间就这么浪费在了无意义的事情上。如何避免这个问题呢?测试!这是我自己受到的血淋淋的教训。

写测试代码的时候,经常会遇见两个问题:

Q:“刚开发完一个功能,紧接着就要开发另外一个,没有时间来写这些测试代码啊?”
A:在开发这个功能之前,请先些测试用例,这样不仅仅节省了写测试用例的时间,而且能帮助你更快的设计接口,避免走弯路,因为你已经在考虑如何使用这个接口了。

Q:“我还有开发任务,没有办法写全面的测试用例啊!”
A:一个全面的测试程序基本是不可能写出来的,功能一直在加,开发一直在进行,没有那么多时间给我们补全测试用例。但是我们不能因噎废食,测试对我们有好处,我们只要实现可能导致出错,或者实现原来出过错的测试用例即可。能找出大部分问题,总比什么问题都找不出,之后去补救的好。

重构的手段

不要把重构看成一件很大或者需要花费很多时间的工程,也许它只是添加或者删除一个函数的参数,也许是从一种设计模式切换到另外一种,当然也有需要大规模的修改代码的结构的时候,具体看你遇见的问题来进行操作。

但是请记住:不管过程如何,重构的目的和本质总是不变的。不要为了重构而重构。

如何让代码变得更加好看,答案其实很废话:封装。把不变的部分放在一块,把变化的部分提取出来封装在另外一块。
而何时封装和如何封装,正是整本书在讲的内容。我归纳了一下,大概如下:

1. 让人迷惑的临时变量

临时变量容易让人产生迷惑,一个变量被来回的赋值,在某一段代码中他表达的是一个意思,在另外一段代码中,表达的又是另外一个意思,到最后就会让人产生疑惑,这个变量到底是什么?所以使用临时变量一定要小心。如果遇见代码中有很多临时变量,我们可以通过以下一些步骤来消除他们:
1) 如果一个临时变量在代码中表示了多个意思,那么将代码分段,给每段的临时变量取上不同的名字
2) 将能用函数查询代替的临时变量全变成函数查询,期间请先不要担心效率
3) 将能提取的代码提取成让人更好理解的函数
4) 如果还有顽固的让人不爽的临时变量,请修改你的算法

当然并不是所有临时变量都是不好的,我们的目的是让代码更加易懂,所以只要这个临时变量能帮助我们理解这段代码,那这个变量就是有意义的。比如用一个临时变量来代替一个复杂的表达式。

2. 简化条件判断

条件判断是程序开发中不可避免的一部分,而当某些语句执行的条件比较复杂的时候,如果处理不好,各种各样的条件判断就会阻碍我们理解这段代码真正的目的。而以下就几个方法,能将复杂的条件判断变得清晰。
1) 用易懂的临时变量或者查询来代替复杂的条件。比如isValid()函数,就比xxx & FLAG_XXX != 0 && xxxx != “” …,要清晰许多。
2) 确定这段代码的真实目的,对于处理前的条件判断,尽量使用ASSERT和卫语句,发现错误就尽快退出处理,减少条件判断嵌套的层次。
3) 如果是类型的判断,请引入子类+多态来解决这个问题。
4) 对于NULL的处理,可以引入NULL对象。通过多态,定义在对象为NULL时的行为。

在写代码时,请不要在意如“一个函数,一个出口”,“使用breakcontinue是破坏代码的行为”之类的,一直被人灌输的思想。只要能让代码易懂,请尽情的使用这些关键字。

3. 减少重复代码

重复代码是万恶之源(当然还有各种万恶之源,如调试器,我们都忽略吧),这点想必只要做过开发的人都经历过,改了这里忘了改那里。既然是相同的代码,那么就请放在一起来吧,尽量不要让重复的代码在你的代码中出现。避免重复代码的方法,有下面几种:
1) 如果代码完全一样,可以直接提取公共函数
2) 如果你使用的是一个库,无法修改他本身的代码,那么我们可以建立代理函数或者代理类来减少重复代码
3) 对于相似的代码,可以使用模版方法,Trait技术来减少重复的代码

减少重复代码还有一个很重要的方法,那就是避免纯数据类。

纯数据类是一个很神奇的东西,OO开发带来的一个很大的优点就是可以把数据和数据的操作封装在一起,让代码看起来更加自然。所以在代码中应该尽量避免出现纯数据类,如果经常出现对一个纯数据类的操作,请将他直接封装在这个数据类中。
比如:文件路径,本身它是一个字符串,习惯Windows开发的童鞋喜欢直接调用Window Api来对路径进行操作,但是有些操作需要多个Api组合完成。这时候,我们无意中就会写出很多重复的代码,实际上,我们把他封装成一个文件路径的类,就可以很好的避免这些重复代码的产生。

4. 封装变化

如何让代码看起来简单?有一个标准,看起来变化越少的代码,越易懂。如果一段只有几行的简单代码,那肯定是很容易懂的。既然这样,那么如果我们把变化的部分都封装起来,那么代码肯定看起来就简单了。
如何封装变化,大家可以猛烈的参考设计模式。如果没有看过,Gang of FourHead First的都不错。
对于经常用的方法,我这里总结了一下(以下不变化的意思是,不变或者变化较少):

1) 数据变化不会导致行为发生变化
在这种情况下,你需要做的就仅仅是封装数据了。
l 尽量避免纯数据类,因为行为是固定的,所以请把行为放入数据类中,让它变得更加有用。
l 有一些基本类型实际上也是纯数据类,如上文提到的文件路径。
l 如果这个变化的数据是几个固定的型别码,那么请用类将它封装起来,再提供几个静态变量表示各种类型,避免出现超出范围的型别码。

 

2) 数据变化会导致行为发生变化
l 一般这种情况都是因为数据本身表示类型,这种情况下,请引入子类+多态。解决这种问题设计模式有很多:状态模式,职责链和命令模式等等。

3) 即使数据不变化,行为本身也可能发生变化
l 如果行为本身会有变化,此时,我们就需要使用反封装的方法,将数据操作提取出来。此类有一个典型的设计模式:Strategy

在封装变化的时候,还有一个问题要注意:
如果出现了“一个新的变化,你要修改很多个类的方法”的问题,请将这些方法移入一个类中,或者提取出一个公有的类。避免这种问题。

5. 整理你的代码

有一个很有趣的关于bug数量的规律:一个模块的逻辑代码行数在200-400行之间的时候,bug数量是最少的。根据这个规律,如果你某个模块的代码过多,那么你就应该开始拆分他了。
而对于实现来说,除了一些变态的Trick,一般越是短小的代码越容易理解,所以如果你写了一段惊世骇俗的冗长代码,请尽快缩短他,不然后来的人要理解他就比较痛苦了。

1) 过长的函数
一段非常长的函数,常会让希望理解他的人望而却步。因为他没有办法很快的理解这段函数的目的,深陷在各种逻辑的泥沼中不能自拔。
l 对于过长的函数,可以先检查里面是否有重复代码,或者可以分段,如果有,请提取成新的函数
l 检查里面是否有临时变量,看能不能用上述方法简化
l 如果还是过长,对于缩短代码,这里有一个杀手锏,把这个函数变成一个方法类。
如:有一个很复杂的函数:ComplexBehavior(xxx),其中的逻辑无法简化。那么可以把它转化成一个叫做ComplexBehavior的类,在其中提取方法,达到缩短过长函数的目的。之后把调用的形式变成ComplexBehavior(xxx).run()即可。

2) 过长的参数列表
如果一个函数如果参数较多,可能会导致这个函数难以理解,不方便使用,而且这种函数经常还会遇见需要添加新的参数的情况,这种修改有时是很痛苦的。而在OO的程序中,参数列表一般要短很多。为什么呢?答案就是封装。如何封装?
l 首先,看有没有能省去的参数,是否存在在对象成员变量中的参数,如果有,请删除它
l 然后,自然而然想到的,就是整合参数,因为很可能这些参数之间是互相关联的,那么把这些互相关联的参数,提取成一个对象吧
l 不要想着提高效率或者这个函数不需要某个对象的某些参数,而不把这个对象传入(除非是其他部分的接口)。这种效率不是我们应该考虑的事情,这种提高一般都是零头,而对于不需要的情况,你也不知道什么时候他就需要这些东西了,都传进去总是不会错的。
l 如果还是不行,请继续用那个杀手锏,建立一个方法类,把所有的参数都转化成他的成员变量。

3) 过长的类
在代码中,大家是不是经常遇见吓人的万能的工具类呢?如果一个类,他本身想做很多事情,那么这个类必然会变得过长。
l 在设计一个类的时候,请首先确定好这个类的目的是什么
l 对于已经过长的类,请先检查有没有重复代码,有请先消除
l 确定好他到底想做那些事情,然后将各个部分分别提取成单独的类
l 如果功能已经很单一了,只是实现本身复杂,请将他的实现分解成多个类
l 如果这个类多个方法很类似,只是使用方式不同,请尝试提取出共有的接口,然后找出确定使用方式的型别码,然后利用多态来简化这个类

6. 胶合层

在代码中,由于自顶向下设计和自下向上实现产生的冲突导致的,用于连接两部分的代码,就是胶合层。他一般出现在接口和代码真正实现的连接处。胶合层有时候是不可避免的,但是如果过厚,就会导致代码难以理解,找很久也发现不了代码的真实在做的事情,所以一般胶合层是越薄越好。如果发现你的代码中间出现了不必要的胶合层,请删除他们。
什么样是不必要的胶合层呢?如果他的存在并不能使你的代码看起来更加简单,而他又没有什么特殊的用途,那么他就是不必要的胶合层。比如一些可有可无的AdapterProxy

7. 过多的注释

写注释是件好事,但是如果发现有一大段代码在解释一些写的非常烂的代码的时候,那么尝试重构这段代码吧。因为不管注释写的再多,我们总归是要去理解这段奇特的代码的,所以让代码本身变得可读性更高才是正确的选择。

需要注意的是,在实施重构的时候,请使用“建立新函数之后替换原函数”的方式来实现重构,而不是直接修改,这样才能保证每一步足够小,而且能回滚,举一个例子,删除函数参数。

重构与性能

程序员写代码的时候,最喜欢做的一件事情,那就是下意识的检查自己写过的代码。下面这些问题,不知道你是否问过自己。

“这里用for循环查找,万一数据量大一点,效率会有问题吧?”
“这里用map是不是比vector更好一些?”
“这里遍历询问好么?要不要让每个模块先注册一下他关注的内容?”
“这种实现方式会不会绕太多弯路了,速度会很慢吧”

除非你对程序这部分会承担的数据量或者他所使用组件的性能有非常清楚的了解,否则,请不要幻想着程序会慢在哪些地方,然后擅自的优化代码。因为事实可能并非你的想象,往往对于vectormap的优化,在时间上表现的都只是一个零头。而如果因为这个修改,使你这部分代码变得晦涩难懂,那就太得不偿失了。在优化性能之前,请先实现好整个原型,有了这个,你才能好好的雕琢它。写代码的时候,请谨记KISS原则,优化是之后的事情。

那到底是哪一部分代码导致我的程序性能不好呢?问性能分析工具吧。

Linux开发的童鞋请移步gprofhttp://www.cs.utah.edu/dept/old/texinfo/as/gprof_toc.html
Windows开发的童鞋请自行搜索:aqtime

重构的本质

开头说了很多重构的目的,提高可理解性,降低其修改成本等等。我们再深究一些,完成这些都是为了什么?所有这些重构的手法,为的是什么?为了让代码简单?如果只是为了让代码简单,书中就不会提及如产生变化会导致多个模块调整等等的问题。那重构到底为了什么?
正交性!
看过Unix编程艺术的人应该都知道,这就是重构的本质。如何让每一个动作,只改变一件事情,而不会影响其他。这就是重构想完成的事情。

结束

好了,乱七八糟的写了这么多,至此,就是我看《重构》这本书的一些心得。

===================== 我是欢乐的分隔线 =====================

如果你看到了这个地方,我只能说你强悍,都是海大空的文字,连个像样的图或者代码实例都没有,所以如果你没有开始开一篇博客,就必须看完的强迫症,真的多谢你的耐心。

一年没有用Linux了

好不容易重新通网,在GR上闲逛的时候,发现Ubuntu上的软件又越来越多了,GTK3也貌似快出来了,Ubuntu10.10也要支持多点触摸了,再加上Linux runs everywhere的特点,前途果然是大大的有啊。

话说大学毕业已经一年了,Linux也是已经一年没有用过了,挺怀念大学在寝室通宵敲代码的时光,那么的有激情。当代码变成职业的时候,反而有点不想敲代码了,有点时间就想玩游戏,看动漫什么的。真够颓啊。

再过几天就要去北京了,但愿能有一个新的开始。

Posted in 01 My Soul Apogee. Tags: . 2 条评论 »

断网了,这下真的要断网了

马上就要在业余时间和网络说拜拜了,因为马上去要北京了,电脑什么的也都装箱了,再过几天就统统的寄出去了,什么上网啊,博客啊,瞬间都变成浮云了。。。。9月初重新复活,这段期间,就当我轮回去了吧。。

北京的朋友们,到时候一起聚聚折腾一把吧。。

PS: 感谢小柔同学帮我在北京找好房子,让我过去可以直接住。。

Posted in 01 My Soul Apogee. Tags: . 一条评论 »

速速郑钱花

今天看到一段这样的笑话:

某电视片播映引起轰动,演员均为业余人士,角色把握都很到位而且自然。
记者好奇问:“那位泼妇演得真好,她是?”
答:“她是公交售票员。”
问:“黑社会老大呢?”
答:“曾任过多年公安局长。”
问:“伪君子呢?”
答:“当过大学教授,如今为政府官员。”
问:“纯情公主演得那叫一个感人,她是?”
答:“从夜总会找来的。”
问:“土匪 演得是太自然了?”
答:“当过城管,现在在税务局。”
问:“老骗子呢 此人无任何做作的痕迹?”
答:“是个成功的律师。”
最后记者问:“那个店小二呢,任劳任怨,随叫随到,加班还不给钱,从没怨言。”
答:“嗯,是很到位,以前是IT民工!!

并没有侮辱其他职业的意思,只是IT民工这个设定让我觉得很有共鸣。当然这样的段子有很多,无非就是变着花的说这几个关键点,这里就不说了。
搞IT就是一个这么神奇的职业,不仅自己调侃自己,还有很多人帮着忙来调侃你。在万分黑暗之中,就靠着远处那一点点若影若现的光亮和那些数不胜数的调侃作为动力,慢慢走着,连自己都不知道什么时候是个头。

最近有一首歌很火,叫做郑钱花,作者叫川子,坐了N年牢,在监狱里面开始玩起了吉他,出来之后弄了个自己的小酒吧,就开始了他的弹唱之旅。他的创作大多来源于他自己的生活,仿佛在调侃自己一般,而这首歌算是他眼中世界的一个写照了。

《郑钱花》歌词

宝贝,来到这世界的时候,

你知道爸爸有多高兴吗?

那天我请了我们很多的朋友,

还给你取了这个好听的名字,

从此以后你就叫郑钱花,

钱是挣钱的钱,

花钱的花,

你的爸爸我现在是穷光蛋啦!

将来的一切都靠你自己呀。

宝贝来到这世界的时候,

你知道妈妈有多幸福吗?

那天她织了一件漂亮的毛衣,

我想你穿在身上肯定会很美!

从此以后你就叫郑钱花,

钱是挣钱的钱,

花钱的花,

你的爸爸也想做个男子汉呐,

给你们母女俩一个温暖的家。

可是我的宝贝,你知道吗?

现在的钱有多么难挣啊!

养一个孩子他妈不容易呀!

计划生育还有必要吗?

伟大的祖国她超有钱呐!

四万个亿跟我有蛋关系呢?

骄傲的GDP他噌噌的长啊!

能给我换来几包尿不湿吗?

~~~~~~~~~~~~~~

宝贝,你就叫郑钱花,

爸爸我爱你呀却无能为力呢!

所以以后要靠你自己啦!

爸爸我只有衷心祝福你啦!

好好的成长,不要生病啊!

努力学习才能省掉赞助费呀!

将来你长大了自己挣钱花,

爸爸我衷心地祝福你了,

可是我的宝贝,你知道吗,

现在的钱有多么难挣啊!

养一个孩子他妈不容易呀!

计划生育还有必要吗?

伟大的祖国她超有钱呐!

四万个亿跟我有蛋关系呢?

骄傲的GDP他噌噌的长啊!

能给我换来几包尿不湿吗?

宝贝,来到这世界的时候,

你知道爸爸有多高兴吗?

那天我请了我们很多的朋友,

还给你取了这个好听的名字,

你就叫郑~钱~花~~~

Posted in 01 My Soul Apogee. Tags: . 一条评论 »

推荐一个游戏:《质量效应2》

先自己杯具一把,刚买xbox3个月,xbox就更新了,新版本的xbox彻底的没有了三红问题,而且还内置250G硬盘,虽然现在没有破解,但是破解也是迟早的事情,而且还有正版可以玩嘛,顺便享受一下各种DLC。但是。。。。。我的老版xbox就杯具了。。。

好不扯了,开始介绍这次的游戏:《质量效应2》 昨天才开始玩这款游戏,主要是因为现在中文版出来了,不用去猜那些晦涩难懂的物理专用词了。
游戏非常不错,画面效果那是杠杠的!剧情也很好,虽然没有《刺客信条》和它宣扬的神创论那么发人深信,但是总体来说还是相当不错的。里面物体的设计也很好,并不是凭空的科幻,里面大部分很科幻的东西,现在都有实验室正在试验,比如使用量子纠缠来传送数据等等。

在游戏里面,你作为人类的象征,带领着自己的小队在太空中做任务,为了阻止收集者对人类的进攻,为了保护人类的安全,为了爱和真实的罪恶(XY:呃,回来,跑题了!)。
嗯,就是这么老套的主题,但是游戏玩起来却非常有意思,你可以驾驶飞船漫游银河系;你可以扫描星球探索资源;你可以拿这些资源做科学研究,创造新的武器;甚至,你可以在里面和某个船员发展出恋爱关系。
在游戏里面,也有和《Dante’s Inferno》类似的设定,你的对话可以分为楷模和叛逆两种类型,提升它们可以解开更多的对话树,从而出现更多的剧情。如果你的剧情控,这个设定估计会让你很着急,因为他们的提升是比较慢的。
另外游戏里面小队的设定非常好,虽然没有龙腾世纪里面,还有战术的设定,但是即便是种类相同的小组成员,也会有不同的能力,而且在战斗中,你可以随时控制小组成员的移动和技能的释放,这样非常的灵活,在战场上一旦遇到特殊的情况,你可以马上让某个成员施放技能,这是可以救命的。
当然还有更多好玩的东东,比如护甲和能量护甲,创造小型黑洞从而让敌人失去攻击能力,干扰,设备超载,破解程序,甚至跳线,等等等等。很多东西都要在游戏里面慢慢发掘。

好,最后上几个图,大家围观一下好了:

 

Posted in 05 G.A.M.E. Tags: , , . 没有评论 »

测试一下ScribeFire

Firefox越来越臃肿了,现在开始转投到Chrome的阵营了,发现用起来实在是快!非常的爽!赞一个。

发现自己更新博客的频率非常慢,所以不得不思考自己为什么会发这个懒筋,实际上,在微博上,感觉自己还是挺活跃的。最后得到的结论就是,现在已经习惯吃快餐的我已经非常非常懒了,懒到连登录到博客后台对我来说都是一个不小的开销。所以需要一个更加轻量的写博客的工具来帮我完成这个任务。于是,我找到了ScribeFire,这个是原来FF上的一个插件,所以功能肯定不会弱才对。现在就先发个测试帖,以后想写博客的时候,在浏览器中按一个按钮,就什么都搞定了!这种感觉肯定大爽!

与XBOX相伴的堕落日子

前段时间手痒了,入手了XBOX,一开始以为XBOX上的游戏应该也比较休闲,于是买了一大堆游戏回来,然后就变成了周末游戏宅……玩了几个游戏,都十分经典,推荐一下。
(XY:拜托,麻烦把我加进去好不好,那个前段时间我也在,改成前段时间,XY在这里的时候,突然手痒了。。。)
(小A:是,是,是。。。总觉得好奇怪,你在的时候,突然觉得手痒了。。。MASAKA?!)

Beyonetta(猎天使魔女)

GUIDE:http://zt.tgbus.com/bayonetta/
这个是XBOX上玩的第一个游戏,是开发《鬼泣》的那一帮人做的,风格自然也是延续的《鬼泣》的风格,操作十分简单,打斗却十分华丽。是个男人就没有不帅的,是个女人就没有不诱惑的,主角是一个御姐系的魔女,专门杀天使,目的很单纯,手段很多样,至于MM杀天使的手法,就不具体形容了,你们都懂的。。。不懂的,玩了就懂了。。。嗯。。。嗯。。。
(XY:这款游戏你通关的时候,我也在,把我加进去嘛。。)
(小A:你又不是御姐。。)

Fallout 3(辐射3)

GUIDE:http://gf.tgbus.com/game/3398.shtml
《上古卷轴》团队在做完《上古卷轴4》之后,就整个转去做这款游戏了,光凭这一点就可以肯定,这个游戏相当无敌。游戏大概讲的是主人公在核爆炸的世界中求生存,最后完成他爸爸的心愿,维护世界和平的故事,游戏很自由,可玩性相当高,基本可以选择任意路线发展,正义邪恶都行,游戏中还充满了各种搞怪的彩蛋,相当经典。总之玩了就知道了。

Dirt 2(尘埃2)

GUIDE:http://pc.duowan.com/zhuanti/chenai2/
如果说极品飞车让我知道了什么叫做氮气,那尘埃2就让我知道了什么叫做刹车。越野车真不好开,在一个狭小的路上,还要保持150+的速度,是一件多么可怕的事情,玩过这个就知道了。现在我真佩服那些越野车手,比F1牛X多了。

Splinter Cell: Conviction(分裂细胞5:断罪)

GUIDE:http://gf.tgbus.com/game/2906.shtml
Fisher大叔第5季,一改前四季中冷静潜入的形象,这一季那是出手就要人命(主要也是因为女儿被抓了,冷静不下来了),再加上情节中穿插的拷问,玩起来比前几代要爽很多。

Assassins Creed II(刺客信条2)

GUIDE:http://mycheats.1up.com/view/superguide/3170852/assassin_s_creed_2/xbox_360
这个简直不用介绍了,绝对的经典,剧情非常牛,我实在舍不得剧透,在这2代里面,电脑的AI还是觉得较弱了一点,只要是潜入,杀人之类的任务一般做起来都比较简单,倒是那种走路解密的玩得好累,一不小心就要全部重来,另外游戏中因为传送点的位置很少,又缺乏如上古卷轴中那种,只要发现的地点,都可以瞬间移动过去的能力,所以跑路也成了游戏的一大部分了,不过这样也好,路上可以发现不少游戏中的好东西,而且对解除成就来说也是很好的事情。一句话说这个游戏就是,Nothing is real and everything is permitted。

真三国无双 Multi Raid Special

GUIDE(有背景音乐,慎入):http://www.gamecity.com.tw/musoumrsp/
这个游戏和怪物猎人差不多,但是可玩性没有怪物猎人高,游戏基本上就是在城里升级装备,然后接任务,打小怪物,然后循环到死。如果没有人和你一起玩的话,这个游戏还真没有什么意思。不过如果有人陪你一起玩联机的话,还是不错的,想想原来和朋友一起在PSP上通宵怪物猎人的时候吧……
(XY:怎么还没有我?小乔的声音我模仿的好像的。。。)
(小A:啊。。。给爷叫个什么蝶。。。)

当然玩的游戏也不是个个好玩,还有一些无聊的,让人崩溃,吐血,扔碟片的游戏……
KOF XII(拳皇12)
你看过不会三葵花的八神么?

WET (湿了。。。)
实在不想评价,本来手柄操作射击游戏就不方便,这款游戏还非常依赖手柄瞄准。为了体现动作感加入的子弹时间,只能在跳跃的时候触发,结果游戏整个开局,我就在跳来跳去跳来跳去,和一只兔子一样。。。。。。巴尼巴尼。。。
(小A:喂,XY,出现一下吧。。。)
(XY:对不起,您拨打的电话无法接通,请您稍后再拨,嘟。。嘟。。嘟。。。)

BULLET WITCH
不知道是猎天使魔女抄它还是它抄猎天使魔女,都是巫女,都有子弹时间,但是就操作,画面等等来说,整个就差了一大截,玩过猎天使魔女的人,再玩这款游戏,你会有种在自虐的感觉,所以,在训练关过去不久,我就退出游戏了,崩溃…………有M倾向的人可以好好玩……

Neir Replicant
虽然是做最终幻想的公司做的,看图片觉得还挺好的,但是不知道为什么,玩了不久就退出了,总感觉太粗糙了点,游戏中环境的感觉,真不知道怎么形容,总之,一看就知道是日本做的……

No More Heroes(英雄不再)
一款单调重复的游戏,一款打爆敌人的头时会出现老虎机的游戏,一款玩起来会让你感觉你机器随时会中毒的游戏。。。

这段时间玩的游戏大概就如上了,今天又忍不住买了一本失落星球2,听说不错,准备接下来玩一玩。。嘎嘎。。。

P.S.: 以上言论纯属个人感觉,每个人喜欢的游戏都不一样,所以大家就不要喷了,谢谢……
(XY:我的第一次出镜。。。T。T。。。)
(小A:嗯,居然在打街霸的时候把我这个导演+编剧虐的那么惨,你这个女一号注定群众了。。。)

Posted in 05 G.A.M.E. Tags: , . 一条评论 »

今天的Google也太有爱了~赞~

chrome-thread-and-messageloop:
chrome-thread-and-messageloop
Posted in 07 Fun4 Laugh. Tags: . 一条评论 »

【转】汉语6级考试

我不得不承认,我会不及格。。。考什么四六级,早该取消了。。

发信人: billinmon (billinmon), 信区: WaterWorld
标 题: 怪不得老外做四级试卷不及格,看报复性汉语6级试卷
发信站: BBS 未名空间站 (Sun Dec 27 09:11:15 2009, 美东)

怪不得老外做四级试卷不及格,看报复性汉语6级试卷 天涯社区

核心提示: 我忽然明白了为什么说老外做四级的试卷分特低,换我估计我也不会,借
此表达一下我对英语四六级的强烈痛恨!
第一部分:听力理解(20分钟)

第一大题

说明向导:在这一大题中,你将听到10个短对话。每个短对话结束后,将有一个关于这
个短对话的提问。每个短对话和它的问题都将只读一遍。每个问题提出后都将有短暂的
停顿。在停顿的时间中,你必须阅读四个标有A),B),C)和D)的选项,并决定哪个选项
是最佳答案。然后在答题卡上相应的选项中央划一条横线。

举例:你将会听到:
男:我们什么时候开始工作呢,阿菲?
女:明天上午9点开始吧。但是我们必须抓紧时间,因为我们不得不在下午2点之前
完成所有的工作。
问:他俩可以工作多长时间?
你将读到:A)2小时。 B)3小时。C)4小时。 D)5小时。
从该对话中我们知道这两个人是在说他们将于上午9点开始工作并必须在下午2点完
成。因此,D)“5小时”是最确切的答案。你应该在答题卡上选项D)的中央划一条横线

  
1.女:回来了?今天车子挤吗?
男:还可以。第一站和我一起上来10个下去6个。第二站上来5个下去15个。
第三站上来17个下去20个。第四站上来24个和我一起下去7个。
问:这个男的一共坐了几站车?
A)10站。 B)4站。 C)3站。 D)5站。
  
2.男:来我老家开分基地吧,把农民都拉过来。
女:哎,只能这样了。
问:这个场景最可能发生在什么地方?
A)小村落。 B)网吧。 C)农田里。 D)基地组织里。
  
3.女:你知道吗?中国队昨天以6比0击败了韩国队!
男:啊?真的吗?万岁!
问:从这个对话中我们可以推断出什么?
A)韩国队退步了。 B)中国队进步了。 C)这个女的很兴奋。 D)这个男的很好骗。
  
4.男:对不起,我忘记做了。
女:你有没有长脑子啊?怎么不会忘记吃饭呀?
问:这个女的最可能是什么身份?
A)中学教师。 B)博士生导师。 C)精神病患者。 D)机器狂人。
  
5.女:这衣服好象太小了点啊?我还是去别处看看吧。
男:不会啊小姐,我还没见过有人穿这身衣裳比你更美的呢!
问:这个男的为何这样说?
A)他是个色狼。 B)想追求这个女的。 C)睁着眼说瞎话。 D)他在说梦话。
  
6.男:做我的女朋友吧,我会对你好的。
女:其实你是个很不错的男孩,和我在一起只会糟蹋了你。
问:这个女的这样说是什么意思?
A)她觉得自己配不上他。 B)谦虚几句。 C)答非所问。 D)拒绝他。
  
7.女:我这次英语6级答案对下来不算作文85分,不知道能不能过,担心死了。
男:你……
问:为什么这个男的说不出话?
A)他也不知道她能不能过。 B)他不忍心告诉她结果。C)他没听清楚她的话。 D)他
准备扁她一顿。
  
8.男:你们老师有没有划过什么翎子啦?
女:没有啊,这次大家都死定了。
问:从对话中我们可以看出什么?
A)快考试了。 B)战争要爆发了。 C)地球要爆炸了。 D)老师不负责任。
  
9.女:明天要交论文了,能借用一下你的电脑吗?
男:你去问别人借吧,我的电脑连不上网。
问:男的为什么让女的去问别人借电脑?
A)他的Word是网络版的。 B)连不上网的电脑对写论文没有帮助。 B)他很小气。 D
)他的电脑坏了。
  
10.男:待会儿你就坐在我边上,和我打手势就行了。
女:不好吧,这样会不会太危险了?
问:他们将要去做什么?
A)学习打手语。 B)做警察卧底。 C)参加考试。 D)培养感情。
(本大题共10分,一题1分)
  
第二大题:复式听写
  
曾经有一份(S1)____的感情(S2)____我面前,我没有(S3)____,等我(S4)____的时
候我才(S5)____莫及,人世间最 (S6)____的事(S7)____于此,如果上天(S8)_________
_______________,我会对那个女孩子(S9)______________________________。如果非
要(S10) ____________________,我希望是……一万年!
(本大题共10分,前面七空0.5分一个,后面三空一共6.5分)
  
第二部分:阅读理解(35分钟)

说明向导:在这一部分有4篇文章。在每篇文章后面有若干问题。每个问题都有四个选
项并标有A),B),C)和D)。你应当选择最恰当的一个答案并在答题卡上相应的选项中央
划一条横线。
  
第一篇文章

第21到25题将建立在下面这段文章中:

中国有一种植物叫葳蕤。

从前有个人叫蔺芈。他想用一张罽子去捕一只鸩。不小心被葳蕤绊了一个跟头。他很踯
蹰该不该再去捉。忽然他发现了一根扃,于是便用扃去打鸩,可是鸩飞走了。蔺芈气愤
地说:“再抓到你就把你做成俎醢!”

虽然恨,但此时却没办法。于是蔺芈只好采了几根葳蕤回家了。

21.葳蕤为什么要绊蔺芈?
A)蔺芈犯贱。
B)这是自然规律。
C)蔺芈走路不小心。
D)文章中没有给出。

22.蔺芈为什么要捉鸩?
A)想烤了吃。
B)捉回来虐待。
C)他爱上了鸩。
D)文章中没有给出。

23.从上下文来看,“踯蹰”(第二段第一行)的意思是__________。
A)犹豫。
B)磨蹭。
C)故意拖延时间。
D)痴呆。

24.文章最后一段,为什么说蔺芈要“恨”?
A)他没有捉到鸩。
B)他被葳蕤绊了一个跟头。
C)他没有用扃打到鸠。
D)他怪自己不果断。

25.请给这篇文章拟一个合适的题目。
A)鸩的故事。
B)白痴蔺芈。
C)草本植物葳蕤。
D)得不偿失。

第二篇文章

第26到30题将建立在下面这段文章中:

一天早上,晴空万里,小明一个人走在大街上,这时,一阵风吹了过来,树倒了,把走
在路上的小明压死了。

这是近年来发生的最惨痛的一次事故,足足有前年发生事故的6倍严重!但是这件事却
一直没有得到有关方面的足够重视。一直到最近著名作家芭芭拉在她的新书中以一个女
英雄设法救小明最终失败的方式记叙了这件惨案。

人们终于认识到可以开始正视这件事了,当然不是用它与过去发生的事故去比较,而只
是客观地去讲述这件事。

26.小明是什么时候被压死的?
A)树压在他身上的时候
B)风吹过来的时候。
C)一阵风把树吹倒的时候。
D)天晴的时候。

27.为什么说这次事故有前年发生的事故6倍严重?
A)因为小明还只是个孩子。
B)因为小明是活活被压死的。
C)因为死伤人数最多。
D)文章中没有给出。

28.作家芭芭拉以怎样的方式记叙了这个故事?
A)以非常细致的描写。
B)以夸张的描写。
C)以一个女英雄救人的方式。
D)以传记的方式。

29.我们可以从这篇文章推断出__________。
A)人们感到拿这件事与以前的事比是不对的。
B)人们对这件事的发生感到愧疚。
C)人们开始正视这件事了。
D)人们开始向小明表示哀悼了。

30.从文章中来看,小明的真正死因是__________。
A)有关方面不重视。
B)被树压死。
C)女英雄水平太次。
D)小明太呆,这么大一棵树你不知道躲开呀?
  
第三篇文章

第31到35题将建立在下面这段文章中:

mm说:“我爱你。”

我脸红了,我不想害她:“我没钱,更没有房子和车。” mm盯着我的眼睛:“我知道
。” “我的月薪只有一千五。” mm的目光仍然坚定无比:“以后会多的。” 我用颤
抖的双手拿出一支烟叼在嘴上:“我每天要抽一包烟,一喝酒就闹事。” mm笑了,“
以后有我在,你放心。” 我的脊梁上冒起一阵寒意,结结巴巴地对她说:“其实……
其实我很流氓……幼儿园就喜欢去女厕所,小学就没了初吻,中学就……” mm没等我
说完就软在了我的怀里,声音细若蚊鸣:“早知道你好色,你老偷偷瞄我胸脯……”
一股鼻血喷涌而出,我抱紧了mm,温热娇小的身体让我热血沸腾。这时我忽然想到了一
件很重要的事情,我决定把这事告诉mm……五秒钟后mm抬头问我:“真的?” 我悲愤
地点点头。

mm沉默片刻挣开我的怀抱抬手给了我一个耳光,她愤怒地朝我喊道:“你丫竟然没有英
语四级证书!”

31.文章中的“mm”是指什么东西?
A)老太婆。
B)猫科动物的一种。
C)女孩子。
D)疯子。

32.mm为什么要打人?
A)因为不打白不打。
B)因为她的男朋友没有四级证书。
C)因为这种动物性情暴烈。
D)因为她的男朋友欺骗她。

33.从这篇文章中,我们可以推断出__________。
A)见到mm这种东西应该离远点。
B)骗人是没有好下场的。
C)四级证书是非常重要的。
D)拿不到四级证书就拿不到学位证书了。

34.文中的男生为什么说那么贬低自己的话?
A)他变态。
B)他谦虚。
C)他痴呆。
D)他诚实。

35.综观全文,这段文章的体裁应该是__________。
A)小说。
B)散文。
C)诗歌。
D)幽默。
  
第四篇文章

第36到40题将建立在下面这段文章中:

首先我声明,我不是什么英迷,但是你的帖子让我恶心,让我甚至宁可看那些没水平的
唾骂,那些也许肤浅,也许单纯,甚至不讲道理的唾骂!

你说你不希望那些人喜欢英格兰,请问你:你是什么东西?世界球迷协会理事?我还希
望粱永祺不要嫁给小郑呢!你说什么“几年来我一直在讽刺英格兰,我等着有英迷能站
出来对我进行反驳,然而到现在为止,对我的反驳除了粗话、骂娘以外,没有一个人能
从足球的层面上分析与驳斥我”。天哪,你在哪里等待?是在自己昏暗小屋的衣柜里等
待呢?还是在遍布英格兰球迷甚至是英格兰足球流氓的街头等待?(我想你也没哪个胆
量)

你居然用对法国两分钟连丢两球来做例,证明英格兰如何的无能。。。且不说英格兰现
在是什么水平,单单看你能用这样一个偶然的结果来做例子,那么,你可以把全世界的
球队都看成三流队伍!

其实装内行不是你的错,但是跑这里来丢人就是你的不对了!

36.从上下文看,“英迷”(第一段第一行)指的是__________。
A)喜欢英俊潇洒的人。
B)喜欢英格兰队的人。
C)英格兰足球流氓。
D)热爱英雄的人。

37.从文章中我们可以推断,作者__________。
A)是个“英迷”。
B)崇拜法国队。
C)喜欢粱永祺。
D)讨厌小郑。

38.文章第二段最后一句话是什么意思?
A)作者喜欢他能加入英格兰足球流氓的行列。
B)英格兰足球流氓善于等待。
C)作者很有胆量。
D)作者的一种挖苦和讽刺。

39.作者认为对方究竟错在哪里?
A)假装内行。
B)乱举例子。
C)跑出来丢人。
D)发没水平的帖子。

40.这段文章最有可能选自什么地方?
A)《人民日报》评论员文章。
B)金庸作品集。
C)新浪网的体育BBS。
D)白宫发言稿。
(本大题共40分,一题一分)

第三部分:词汇(20分钟)

说明向导:这部分有30句未完成的句子。每句句子后面有四个分别标有A),B),C)和D)
的选项。请选择最佳的答案然后在答题卡上相应的选项中央划一条横线。
  
41.我们下课后一起去_____电脑。
A)打 B)操 C)干 D)搞

42.他打_____他一巴掌。
A) 上 B)过 C)了 D着

43.我去见了网友,然而令我失望的是,她却是个_____。
A)美女 B)恐龙 C)猩猩 D)长颈鹿

44.齐丹那_____又进球了。
A)秃子 B)胖子 C)猴子 D)呆子

45.你在干吗_____?
A)呼 B)呀 C)呵 D)了

46.这几天论坛上怎么没人来_____了?
A)灭火 B)浇花 C)种田 D)灌水

47.他说得太好了,大伙儿一起_____他啊!
A)宰了 B)解决 C)顶死 D)弄死

48.这篇文章写得很_____。
A)次 B)幽雅 C)硬朗 D)苦闷

49.这考试太难了,我们请个_____吧。
A)剑士 B)枪手 C)狙击手 D)CS高手

50.来我家,我俩_____FIFA。
A)玩弄 B)游戏 C)对殴 D)单挑

51.停车_____枫林晚,霜叶红于二月花。
A)做爱 B)坐爱 C)喝酒 D)品茶

52.他一天到晚就知道_____女人。
A)浸 B)泡 C)浸泡 D)烘干

53.他阅读居然得了40分,实在太_____了!
A)英俊 B)帅呆 C)牛B D)变态

54.你又被爆头了,真是个_____。
A)龙虾 B)带鱼 C)黄鳝 D)菜鸟

55.翠花,_____酸菜。
A)上 B)下 C)左 D)右

56.田野里到处都是_____。
A)旺财 B)小强 C)胖墩 D)皮蛋

57.60分万岁,多一分_____。
A)也好 B)浪费 C)奢侈 D)万岁

58.子曰:学而时习之,不亦_____乎。
A)说 B)悦 C兑 D)免

59.如果我有_____,我要叫他小叮当。
A)阿拉蕾 B)机器猫 C)呼呼猪 D)蓝皮鼠

60.我们都是_____球迷。
A)榔头 B)钉子 C)铁杆 D)竹竿

61.这么狡猾的人你还说他老实?他老实个_____!
A)鱼 B)鸟 C)虫 D)草

62.新东方的老师个个都是_____。
A)秃驴 B)** C)牛人 D)老头

63.女人是_____做的。
A)水 B)冰 C)馒头 D)面粉

64.我是一只来自北方的_____。
A)猪 B)狼 C)羊 D)狗熊

65.你_____什么呀?不就一次考得好吗?
A)激动 B)拽 C)喊 D)疯

66.用炮打他的_____。
A)马 B)牛 C)羊 D)炉

67.英语四、六级考试马上要_____啦。
A)取消 B)实行 C)崩溃 D)改革

68.更多选择更多欢笑,就在_____。
A)肯德基 B)必胜客 C)麦当劳 D)塔克贝

69.舒克舒克舒克舒克舒克舒克舒克舒克_____的舒克。
A)尿床 B)偷东西 C)开飞机 D)扔炸弹

70.将_____进行到底。
A)作弊 B)爱情 C)比赛 D)革命

(本大题共15分,一题0.5分)

第四部分:综合改错(15分钟)

说明向导:这部分中有一篇短文。在这篇短文中一共有10个错误,每个后面划横线的句
子中有一个错误。你可以改一个词语,加一个词语或者删一个词语。如果你想改一个词
语,把错误的那个词划去并把正确的写在横线上。如果你想加一个词语,在要加入处写
一个插入记号(∧)并把要加的词语写在横线上。如果你想删去一个词语,划掉它并在横
线上划一斜横即可。
  
举例:
电视正在很快地成为我们这个期间的文学。 1. 时期
许多有被用作文学这门学校的课程学习的观点 2. —-
也同样适用于电视∧门学科的研究。 3. 这__
  
近年来外国人学习汉语的热情不断增高,但绝大多数人能够熟练掌握汉语。为了便
于外 71. _____国人检测自己的汉语水平,现成立国家大学汉语四、六级考试委员会并
设立着汉语四、六级 72. _____考试。该考试将要参照英语四、六级考试的形 73. ___
__式,各部分题型与其基本保持一致。考生报名参加或通过者将授予证书,证书上贴有
防伪标 74. _____志,任何个人和单位不得仿冒,违者不究其法 75. _____律责任。另
外,考生报名需持本人无效证件, 76. _____不得他人代报,更除此不得冒名顶替,发
现有 77. _____以上现象的,将取消其中考试成绩,并责令其 78. _____回国,终身不
得参加该项考试。该汉语考试将于2005年开始,每年设立1月和6月两门考 79. _____试
,报名具体时间和注意事项请观赏我们的官 80. _____
(本大题共10分,一个1分)
  
  
第五部分:写作

说明向导:在这个部分,你将有三十分钟来写一篇题目为:汉语四、六级真好的作文。
字数不可少于150字,你可以以下面的提示作为文章的主线:

1. The College Chinese Test is so good!
2. How nice the College Chinese Test is!

Posted in 07 Fun4 Laugh. Tags: . 一条评论 »

又一次被百度震惊了

RT,直接上图
chrome-messageloop-task:
chrome-messageloop-task

Posted in 07 Fun4 Laugh. Tags: . 2 条评论 »

吃肠粉,遇大神

猛击看大图…
yyt-sakura:
yyt-sakura

Posted in 01 My Soul Apogee. Tags: , . 5 条评论 »

【生蚝小分队】 #1 黑鼻子湘菜馆

晚餐,木有活动,晃晃悠悠的来到了mandy推荐的烧烤店,点了2个生蚝,点了7个扇贝(只能7个7个一点),弄了一盘手撕包菜,大吃了一顿,一共32块大洋。
吃完之后突发奇想,既然来深圳一个最大的目标就是到处吃烤生蚝,那就干脆把所有的店子都记录下来好了,于是就有了生蚝小分队,那暂时我就担任队长兼队员兼后勤兼向导兼等等等等一职啦,终极目标就是吃遍深圳的生蚝,如果不行那就吃遍南山,如果还是不行,那就吃遍愉康,如果还是不行,那就吃遍楼下。。。。。。吐槽太多了,回正题。

google-breakpad-out-of-process-dump:
google-breakpad-out-of-process-dump
这个店子原来一直是在做烧烤的,现在转作湘菜了,烧烤变成副业的,看到湘菜就想起辣椒,所以今天点菜的时候,居然点了带辣椒的生蚝,囧。结果可想而知。
生蚝的鲜味被辣椒粉盖去不少,而且加上蒜蓉的味道没有完全出来(可能是因为生意火爆,所以没有完全烤透),结果味道没有想象中的那么好。至于扇贝就更加了,放的都不是辣椒粉,直接放的辣椒,味道自然就变成和辣椒味差不多的味道了,不过如果没有辣椒,味道应该会好吃不少,不然人也不会这么多。
手撕包菜倒是不错,推荐。听说店子里面的湘菜很不错,有个很好吃的菜叫水煮鱼,但是没有点,因为一个人实在吃不了这么多。
另外,只要点一个菜,饭就不要钱了,随便吃哦,两三个人去小聚会那是相当不错的。店子里面貌似也没有很大的桌子,要是去的人多了,就只能拼桌了。

人均消费:10-30(主要看你怎么吃)
生蚝单价:3块
生蚝评分:8分!!!
地理位置:
what-is-that-flying.jpg:
what-is-that-flying.jpg

#1大概就到这里了,但愿懒得什么一样的我,希望能接着出#2。吃饱了,睡。

P.S.: 我的口味比较诡异,所以这个只是个人感觉,真的只是个人感觉哦。所以不要喷我~哇哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈~

Posted in 08 Food Digger. Tags: . 2 条评论 »