2012年3月18日 catbaron No comments

日本语学习笔记(二)

时间:
〜〜に+动词
〜〜是时间点,时间段的名词后不跟に
具体可见:
1.具体的x年x月x日,或者x年后面跟に
2.今(いま)、昨日(きのう)、今日(きょう)、明日(あした)、毎日(まいにち)、来年(らいなん)等等后面不跟に,星期日后面可以跟也可以不跟。

词汇:
大约:頃(ごろ)
6~12点:午前(ごぜん)
12~18点:午後(ごご)
18~24点:夜(よる)
0~6点:夜中(よるかな)

星期一:月曜日
星期二:火曜日
星期三:水曜日
星期四:木曜日
星期五:金曜日
星期六:土曜日
星期日:日曜日

前天:おととい           前天早晨:一昨日の夜(おとといのあさ)  前天晚上:おとといの晩
上上周:先々週(せんせんしゅう)  上上个月:先々月(せんせんげつ)     前年:一昨年(おととし)
昨天:昨日(きのう)        昨天早晨:昨日の朝(きのうのあさ)    昨天晚上:昨日の晩(きのうのばん)
上周:先週(せんしゅう)      上个月:先月(せんげつ)         去年:去年(きょねん)
今天:今日(きょう)        今天早晨:今朝(けさ)          今晚:今晩(こんばん)
这周:今週(こんしゅう)      这个月:今月(こんげつ)         今年:今年(ことし)
明天:明日(あした)        明天早晨:明日の朝(あしたのあさ)    明晚:明日の晩(あしたのばん)
下周:来週(らいしゅう)      下个月:来月(らいげつ)         明年:毎年(まいねん)
后天:明後日(あさって)      后天早晨:明後日の朝(あさってのあさ)  后天晚上:明後日の晩(あさってのばん)
下下周:再来週(さらいしゅう)   下下个月:再来月(さらいげつ)      后年:再来年(さらいねん)
每天:毎日(まいにち)       每天早晨:毎朝(まいあさ)        每天晚上:毎晩(まいばん)
每周:毎週(まいしゅう)      每个月:毎月(まいつき)         每年:毎年(まいねん)

动词的ます形态变化:

动词分为三类:
第一类动词:以  あ段/お段+う段假名  结尾的动词(应该就是所谓的う段活用动词吧= =)
将う段假名变为对应的い段假名,在词后跟上ます

第二类动词:以  い段/え段假名+る   结尾的动词(应该就是上一段活用动词和下一段活用动词吧)
去掉る,在词后跟上ます

第三类动词:名词(汉字词组/片假名)+する 结构的动词(さ变动词)
する变为します

关于各种动词的变化性,这么久我都是硬记啊T_T,什么上一段下一段五段活用,一直愁死我了。今天被这个不正经的老师一点就惊醒了。看来以前这种不系统的自学果然局限性很大。

话说我这里吐槽一句,赵天老师你太不正经了啊,有没有见过在课堂上给学生讲故事的老师啊。

故事是这样的:
叶太是幼稚园里面被人瞧不起的孩子,有一天他偷走了花子的洋娃娃。花子找不到自己的娃娃,十分着急。这天晚上,她睡着之后梦到了叶太,叶太告诉她,娃娃是他拿走的,如果花子能按照叶太说的路线找到洋娃娃,就把娃娃还给花子,否则就会发生不好的事情。
然后叶太说了一个十分复杂的路线,问花子,记住了么?花子慌张地说,还没有记住……还没说完,就被叶太一把推到路上去了。
花子没办法只能去找,前面一段还能按照叶太说的路线,但是后面不久就走错了,花子迷失在交错复杂的路线中……

第二天早晨,花子的母亲发现,花子已经死掉了。

所有听过这个故事的人三天之内都会梦到叶太!!!

我擦我还记得当时赵天老师说完这句话之后笑得那个荡漾啊!!!坑不坑爹啊!!

 

2012年3月18日 catbaron No comments

日本语学习笔记(一)

“我”的说法:
私(わたくし)>私>僕(ぼく)>俺(おれ)
わし(老头子自称)

汉字的读法:{
1.单独出现时一般训读
2.和假名一起组成单语时,一般音读
}

有无存在:

何+{
1、が(确定有东西,但是不知道有什么东西)
2、か(不确定有没有东西)
}+ありますか?

方位:

璧の上に  墙壁的垂直上方

壁に    在墙壁表面

第三人称:
彼(かれ)
彼女(かのじょ){1.她 2.女友.}

词汇:

上(上`うえ)
下(下`した)
里(中`なか)
外(外`そと)
左(左`ひだり)
右(右`みぎ)
报纸:新聞(しんぶん)
新闻:ニョース

入口:入り口(いりぐち)
售货台:売り場(うりば)
小卖部:売店(ばいてん)

第一单元没有接触到动词,简单的〜〜は〜〜です句式,和一些方位名词。话说名词好多很难记住= =!!

 

2012年3月11日 catbaron No comments

当我谈读书时我谈些什么

看到这个题目,应该就知道我在说什么了吧。
《当我谈跑步时我谈些什么》这个名字,让我不禁想起《我们仍未记得那天所看到的花的名字》。虽然这两部作品毫无关联,但是这是我的第一感受之一。

作为惯例,我先讲讲我读这本书的背景。
读这本书的原因只是单纯的想看看村长到底谈了些什么。于是我在一个月黑风高的晚上,把这本书的电子版扔到手机里面。然而真正开始阅读,反而是在几周之后了。
2月上旬,我被拉去一个封闭的地方干活。在为数不多的闲暇时候,我读完了《嫌疑人x的献身》。(顺便提一句,这真是一本超赞的推理小说,不愧于东野圭吾的名号。)在读完之后,我决定开始读这本《当》。
我们先来说说,这本书的内容。

我摘录一部分书开头的部分:

我下决心写一本关于跑步的书,说起来也是十多年前的事了。自那以后便苦苦思索,觉得这样不行那样也不成,始终不曾动笔,任烟花空散岁月空流。虽只是“跑步”一事,然而这个主题太过茫然,究竟该写什么,如何去写,思绪实在纷纭杂乱,无章无法。 然而有一次,我忽然想到,将自己感到的想到的,就这般原模原样、朴素自然地写成文章得了。恐怕舍此别无捷径。于是,从二00五年夏天开始,零零星星地动笔写了起来,二00六年秋天写完。虽然有一部分引用了从前写的旧文,但基本上是将我“此时此刻的心情”不施虚饰地记录成文。诚实地书写跑步,也就是在某种程度上诚实地书写我这个人。写到一半时,我突然意识到了这一点。因此,将这本书当作以跑步为基轴的一种“回忆录”来阅读,也无甚大碍。 即使不足以称为“哲学”,然而我以为,这里面含有_些类似经验法则的东西。一些无甚大不了的玩意儿,却是我通过实实在在地运动自己的躯体,通过作为选择的磨难,极其私人地感悟到的东西。也许并不值得推而广之,但无论如何,这,就是我这个人。

所以,总体来说,村长讲的就是05年到07年自己的跑步经历。从内容上来讲,确实如他所说,是一种“回忆录”。我个人比较讨厌读“传记”之类的书籍,原因需要费点功夫才讲得清楚。总之,由于是“回忆录”,所以在某种程度上,并不是那么有趣。很多内容,比如跑步的时候的心情,环境种种,也许是作者自己珍贵的回忆,但是对于读者来说,其实并不是很重要的东西。

话虽如此,对于里面的一些内容,我还是产生了一些共鸣。下面,我稍微拿出来一点。

首先,我知道了一件事情:长跑是一件令人痛苦的运动。村长在文中也写到,自己虽然很喜欢跑步,并且表示,长跑是和自己的性情相符的运动,但是也有“身体好沉重,一点也不想跑步”,这样的时间。而且,他还煞有介事的去问了奥运会长袍选手,确认对方“这种事情经常发生”。看到这里,我和村长的心情是一样的:

从心底松了口气。

痛苦对于每一个人,都是公平的。

在书中很靠后的位置,村长重新拾起“痛苦”的话题:

痛苦对于这一运动,乃是条件般的东西。不伴随痛苦,谁还会来挑战铁人三项和全程马拉松这种费时耗力的运动?正因为痛苦,正因为可以经历这痛苦,我才从这个过程中发现自己活着的感觉,至少是发现一部分。

这种说法,就有些类似于修苦禅的意味了。从某种意义上来说,痛苦留给生命的印象,要比“幸福”更加深刻,通过经历痛苦来经历生命,才能更真切地体验“活着”。

也许是验证这种观点,在文中,村长描述了这样一段内容:无论再怎么努力,但由于年龄不可逆转地变老,成绩渐渐变得不那么理想。周围也开始有人劝说他放弃长袍。村长说

“哪怕成绩大幅下降,我也会朝着跑完全程马拉松这个目标,如同以前一样——有时候还会超过从前——继续努力。”

不管别人说什么,这是我与生俱来的性格,就好似蝎子天生要蜇人,蝉天生要死叮着树一般;又好比鲑鱼注定要回到它出生的河流,一对儿野鸭子注定要相互追求一样。

我忽然觉得,这大概是一种,要和生命与时间抗争到底的野心,这大概也是最难得的野心。

缺点和缺陷,如果一一去数,势将没完没了,可是有点肯定也有一些。我们只能依靠手头现有的东西去面对世界。

这一段话,我忽然想起动画《食梦者》中的ED《那些和名为现实的怪物战斗的人们》。我总是对基友说,人总要有点梦想。从某种角度来讲,实现梦想,也就是和名为现实的怪物战斗吧。虽然我们所拥有的都是一些司空见惯的能力,但是如果换一种角度,我们每个人不都是拥有某种“特殊能力”的超能力者么?精神力异常集中,逻辑思维超强,无比健壮的体魄,超乎常人的人脉关系经营能力……这些,都是手中闪闪发光的武器。虽然都是活在自己的人生里,不觉得如何,但是只要是战斗过的人,名字都将刻在勇者的石碑上,透过时光的回首,那些将演化为传奇。

虽然只是讲作者对于“跑步”这件事情的追逐经历,这本书的长度却超出我的预料。也许相比于“小说”这种题材,这种非虚构类的图书长度总是要长一点。而且,里面的种种经历的细节描写,总会有一种力量让我停下来,和自己的生活做出某种比较。总之,我花了很长时间才读完。

我还记得,那天我刚好结束第一天的语言课程,已经是下午五点。帝都地铁十号线,列车停在了北土城站。这时候,我手机中的这本书,已经推进到了“后记”的位置。我走出地铁,决定先找个地方讲这本书结束。

唯一的长凳被一对情侣占领,身后的列车加速离去,我只能依靠在一根支柱旁,完了整本书的最后一段。

从:

假如有我的墓志铭,而且上面的文字可以自己选择,那么我愿意它是这么写的:

村上春树

作家(兼跑步者)

1949–20xx

他至少是跑到了最后

一直到:

渡边我终于把 这本书连载完了。

关掉iReader,我忽然觉得,自己读这本书仿佛是跑完了一场马拉松。虽然我并没有真正的跑过那么长的距离,但是读这本书的过程太过于复杂,有时候是在轻松的午后,有时候是在等待实验室开门的闲暇,有时候是在通宵调代码之后,精疲力尽的早晨……这些过程,配合书中对于“长跑”和“铁人三项”的描述,让我对它的感受显得无比漫长。直到那一刻,地铁站嘈杂的人声重新灌入我的耳朵,我忽然常常地呼出一口气。决定开始下一段新的旅程。

2012年2月24日 catbaron No comments

还活着

[0]

算了算,从寒假开始到现在,我花在路上的前大概有3k了。一个PAD被我扔在了路上。

年后,老姐膝盖中箭,拉去上海医院手术。作为陪护,我玩的倒是挺high。在医院,住在她同事的房子里面,平时和她同事接触多了,有时候会忽然感觉到自己的“日常”原来和别人的“日常”差了这么多。

也许 程序员 和 动漫宅 这两种异类属性杂交之后,产生的根本就是不正常的生活习惯和生活态度。而活在其中的自己根本就忽视了自己身外的世界。尤其是浪漫主义后遗症,让我更倾向于尽力独立生存。尽量减少和周围人的交互,尽量不接受别人的援助。这种态度,也许已经是一种病态了也说不定。

所以,在看到老姐和同事们如此融洽地交往,我忽然有一种回归社会的冲动,忽然有一种“正常化”的冲动。每天按照固定的周期上班,聚餐,休假,卡上按照固定的周期多出够用的存款,一点一点建立起自己的人际关系网络,一点一点构造自己的世界。看起来最后也能有一个HAPPY END。

真有点心动了。

[1]

从上海回来之后,这种对于正常交际的生活的窥探,对自己的影响不可磨灭。也许以后有一天,我后悔的感叹自己人生南辕北辙的时候,就会拿出这段经历作为例证。

返回北京,便去怀柔封闭开发。说是开发,其实我去的时候主要的代码都差不多了,重要的是代码的调试和修改。不过,针对各种问题,工作量也不是盖的。在怀柔的大部分时间里面,每天睡觉的时间都在凌晨3~5点,其中还有两次通宵。第一次通宵那次压力真大,早晨五点多回到房间,躺在床上,根本无法入睡。自己都被自己沉重的呼吸声和心跳声吵醒。头痛欲裂。真像要死了一样= =。

每天加班,每天熬夜,不过还是活着挺过来了。毕竟大家都这样,也就无所谓辛苦了,何况还不是最辛苦的。

这种经历之后,我忽然有了“以后再困难的事情也一定能挺过去”的感受。

[2]

从怀柔回来,开始着手准备日语的相关事宜。去了“学习谷”,了解了具体的信息,试听了一节课。说是试听,不过讲课的校长讲的内容十分少。而且和照片上张的一点都不一样,很猥琐的样子。感觉就是……会进化为山木的样子。而且是个挺……胖的家伙。希望校长不要看到这些东西,看到这篇博客也不要猜出来我是谁。

在我决定放弃考研的那二十分钟里面,其实已经顺带地决定先工作,然后想办法到墙外这样的计划了。当时还把“北海道”列为梦想之一。不过事情一直到现在才开始像点样子,至少看起来是在做些正经事情了。

大二那年暑假,我去深圳的社会实践,那里的一个学姐跟我们讲,有时候,特别是男生,最好把自己扔到一个完全陌生的地方,这样你会迅速成长起来。其实当时我已经在考虑英国,新加坡,日本,澳大利亚和加拿大这些地方了。不过因为自己的喜好问题,和现实的经济问题,最后决定,去日本。

当然,日本也不是“决定”去就能去的。

有时候,很多事情就像是捅马蜂窝,捅的时候好像很二,但是如果你最后撑过去,也许将成为十分NB的吹牛资本。如此,各位基友,不来一发?

今天老孙跟我讲,他对老板和刚哥提到我想去日本,二老十分惊讶。老板还问,怎么不去英国了呢?瞎折腾。

说起来,虽然他俩对我“想出去”的想法一直都知道,但是我一直没提过是要去东洋而不是西洋。过去跟老板举例子的时候,也只是说能去英国最好。对我来说,英国和日本是两个很有好感的地方。然而,从可实现性这个角度,英国有点远。所以,综合考虑,日本很合适。

不过,回去难免要跟他们解释,这个好麻烦。这要从何说起?就说,我比较喜欢那边的姑娘好了。不死才怪。

到头来,虽然不大,但是老板也是马蜂窝中的一个。

[3]

前面刚北京——>家——>威海——>北京这么绕了一圈。很多人真是,虽然都活着,但是想见面却很难了。这次在家里和威海分别见了两个年前没机会见面的高中同学。两个人都考研,但是貌似都悲剧了。我只能吐槽,说以后你们一定要把自己的经验传授给阿温,让她不要考研。考研这种事情,真是耽误人生。

虽然他们都对我说,如果你复习考验,一定没问题。

别说笑了。

同学说她一个同学,保研到北大,都不去,非要自己考公务员。

选择权在自己手上,如此真好。

[4]

被一个初中同学说,你还是初中的时候更有意思。

人老了,没办法

被一个初中同学说,你果然很宅,一定很少跟女生出门。

我是根本很少出门。

被一个初中同学说,可以多笑笑,虎牙加分。

呵呵。

被一个初中同学说,你还别想着高帅富了,想着富就行了。

呵呵。

2012年1月18日 catbaron No comments

《冰菓》轻推理小说推荐

所谓轻小说,我觉得百科里面下面这段定义还挺有意思的。一般而言以下几种情况只要符合一条就可以认定为轻小说:

    1. 作者说这是轻小说。

 

    1. 这本小说是在一个只出版轻小说的文库出版的。

 

    1. 编辑广告宣传这本是轻小说,以及包括第一条在内各种官方说法定义它是轻小说。

 

    1. 虽然是废话,不过还有被这本轻小说真厉害认可是轻小说的作品。

 

    1. 主流舆论认为这本书可以称之为轻小说。

 

轻小说这种题材,没有明确的定义,从我个人的阅读感受,就是故事发生在日常背景,没有激烈的矛盾冲突,或者虽然矛盾很激烈但描述语言很轻松,读起来平缓清淡。

很多赫赫有名的小说都因为人气火爆被改编为动漫,比如《凉宫春日》系列,《灼眼的夏娜》系列,《无头骑士异闻录》系列等等。

这些小说往往是在一个日常的环境下设定异常的情节,有科幻/魔幻的性质在里面。不过今天某猫推荐的,是一部推理小说,米泽穗信的《冰果》。

原作名: 氷菓

作者: 米澤穗信

译者: HANA

出版社: 獨步文化

出版年: 2011-8-16

页数: 224

定价: NTD250元

装帧: 平装

ISBN: 9789866043017

其实我读过的推理小说也不多。除了《福尔摩斯全集》之外,大多都是日系的推理,所以这里做出比较的时候,难免有一些局限性。

对于推理小说,尤其是我看过的日系推理,往往是设定一个奇异的犯罪手法,然后主角经过各种推理,将“不可能犯罪”的犯罪手法破解,查明真相。

这个过程中,作者往往会过于沉醉于奇淫巧计的设计,而导致虽然手法十分精妙,整个故事却十分牵强,情节发展和犯罪动机的刻划痕迹过于明显,缺少真实感。

《放学后》、《猫知道》这种一流的作品尤其如此。

之所以啰嗦这么多,其实就是想说,在上面这种现状下,《冰果》带给人的感觉就是耳目一新了。

《冰果》的特点是,故事并不是离奇的犯罪案件,而是高中生周围发生的看似有些奇妙却又不是那么举足重轻的事件。里面也有一些“密室”的性质,“动机推理”的性质。因为故事发生在普通高中生(注意,是普通,没有被喂药也没有变小)身边,而且不是恶劣的犯罪事件,所以故事十分清淡,却又恰到好处地吊起读者的胃口。而在一个大事件的过程中,也会用推理能力顺便处理一些小问题。可贵之处是,这些事件让人觉得,就算自己亲身经历也完全不会觉得有什么违和感。而推理出的结果不但合理,而起合情,完全不会有任何牵强附会的感觉。

如果用玩魔方来比喻的话,虽然都是解决事件,东野圭吾和仁木悦子就好像是把魔方拆开重新组装来解决,而米泽穗信则是用一气呵成的动作将魔方旋转归位。

从某种角度来讲,《冰果》和《福尔摩斯》的阅读体验有些类似。在时间解决的时候,恍然大悟的同时,还觉得非此不可。什么?用魔方比喻福尔摩斯?冲着这位大师的名号,这个世界上哪有什么魔方嘛。

推荐就写到这里,下面说一下小说的相关的东西。

这部小说不长,阅读的时间成本很小,所以很适合用来做轻小说的尝试性阅读。

然后引用一下别人写的一段话

 

所有读过米泽的人,想必都曾和我一样,惋惜地觉得自己为什么没有珍惜身边的小谜团,加紧锻炼自己的推理能力。不过正如作者所说,即使是如此日常的推理,仍然只可能出现在小说中吧:“这本小说的内容有六成纯属虚构,其余则是以真实事件为蓝本”、“顺便透露一下分辨虚构和真实事件的小秘诀——您只要把您觉得合情合理的情节都视为虚构,觉得像是可以安排的部分当成真实事件,就八九不离十了。”所以或许应该绝望地认为本格推理果然是不存在于现实生活中吧。

 

好了就这样了,读过之后如果感兴趣的话,可以自己找找米泽的其他小说,或者尝试一下其他风格的轻小说。顺便说一下,米泽的日常推理有几个系列,都是类似的风格。还有一部《算计》,讲的好像是密室杀人事件,据说口味比较重,我还没看过,不过还真是一个多面写手。

不管你有没有兴趣,我是有兴趣了。其他的,在读过之后再说吧。

2012年1月3日 catbaron No comments

一句话

今天一要出国的哥们跟我说,看上一姑娘

我开玩笑说,你一个要出国的高材生……

他说,两年,人家等得起么

 

心里忽然十分伤感

 

2011年12月21日 catbaron No comments

一个基于Jquery的打字效果插件TypingCat

前段时间,要写一个页面,需要用到打字效果。在网上找到几个基于jQery的插件,但是有些太复杂,有些不太可控。于是干脆就自己写了一个。

 

用法和效果都比较简单,直接把html的代码写出来,看注释应该就知道怎么用了

首先需要在<head></head>中加载必要的插件

 

<head>

 

 

<script type=”text/javascript” src=”js/jquery.js”></script>

 

<script type=”text/javascript” src=”js/TypingCat.js”></script>

 

</head>

 

 

而html的body中有如下标签内容(用来承载打印效果的位置):

 

<body>

 

 

 

<div><a href=’#’>back</a></div>

 

<div id=’pra1′>

 

<div id=’word1′></div>

 

<div id=’word2′></div>

 

<div id=’word3′></div>

 

</div>

 

<div id=’pra2′>

 

<div class=’word1′></div>

 

<div class=’word2′></div>

 

</div>

 

</body>

 

 

然后需要做的是,在任意位置加入下面的代码(开始使用插件,示例是放在了head标签里面):

 

 

<head>

 

 

 

<script type=”text/javascript” src=”js/jquery.js”></script>

 

<script type=”text/javascript” src=”js/type.js”></script>

 

<script>

 

$(function(){

 

l_blink_speed = 300;    //’‘闪烁速度 speed ” blinking

 

l_blink = 14;           //‘’闪烁次数 times ” blink

 

l_blink_s = 8;          //‘’闪烁次数(少)times ” blink (fewer)

 

l_start = 2;            //how long to wait before a new line starts

 

l_start_q = 1;          //how long to wait before a new line starts (quick)

 

w_blink = 80;           //汉字打印时间间隔 speed of tying

 

hide_time = 2000;      //字体层隐藏速度 speed of hiding

 

 

 

wait = 1000;            //weit 3 second before start

 

typeWriter(“this is Pra1’s 1st words”,”#pra1″,”#word1″,l_start,l_blink_s);

 

typeWriter(“this is Pra1’s 2nd words”,”#pra1″,”#word2″,l_blink_s,l_blink);

 

typeWriter(“this is Pra1’s 3nd words”,”#pra1″,”#word3″,l_blink,l_blink_s);

 

 

 

 

 

typeWriter(“this is Pra1’s 4nd words”,”#pra1″,”#word3″,l_blink_s,-1);   //retype in the same div. -1 means this pragraph  will disappear after finishing typing

 

 

 

typeWriter(“this is Pra1’s 1st words”,”#pra2″,”.word1″,l_start,l_blink_s);

 

typeWriter(“this is Pra1’s 2nd words”,”#pra2″,”.word2″,l_blink_s,-2);   //-2 means this pragraph will not disappear and ” will blink without stop

 

 

 

})

 

</script>

 

</head>

 

 

 

真正产生效果的是typeWriter(str,pra_id,div_id,wait_before,cur_wait)

参数的意义分别是:

str:需要打印的文字,注意最好不要打印‘’这个符号,因为它作为光标使用了

pra_id:段落的id或者类名,从例子中可以看出,如果是传入id则用”#id”的形式,如果传入样式的类名则用“.class”的形式。文字的消失是以段落为单位的。

div_id:每一行用div层引起来,这里是段落中各个div的id或者样式类名。用法同上。

wait_before:上一行的光标闪烁次数,也就是说上一行打印结束后多久才开始打印本行。

cur_wait:本行结束是,光标的闪烁次数。

 

上面的一些变量有说明,可以自己修改调整各种效果的时间和速度。

 

效果可以看这里

下载在这里

 

2011年12月11日 catbaron No comments

圣诞文字素材

大概在一个月前,

我打算做一些准备,来迎接圣诞节

以做纪念

 

百度的某位前辈已经有生命证明

动漫宅如果不及时纪念自己的人生

就可能只剩下被人纪念的机会了

 

于是我怀着某种特定的心态

写下了这样一页PAGE

 

在无数次尝试和修改这些效果的时候

我一直希望最后她能够在一个雪夜降生

并被人注视

与其说我是在期盼一个Christmas

不如说对White的态度更殷切一些

 

在毕业在即的今天

我想用这样的方式来怀念那些在这几年曾出现在我视野里的人

尽管有很大一坨都很惹人厌

但正是因为有人群

才有了真正的基友

 

当然,重点是,我要用她来感谢那些在我眼前闪过的姑娘们

人生短促而多磨难

只要还有你们在

就值得来此尘世走一遭

 

不管你发没发我卡片

不管我修没修你电脑

不管我解不解你衣衫

不过你解不解我风情

 

此时此刻

我是如此

想念你

没有们

 

2011年12月6日 catbaron No comments

《鸿门宴》观影记录

今天中午拿到票,结果3点多的时候中心忽然有事,弄完都5:40了,电影是5:45开始,赶到影院的时间是6:00。

一进去就看到刘亦菲被欺负。根据国际惯例,欺负女人的,一定会便当。欺负女主的,肯定会马上便当。果不其然,在刘亦菲脱到一半的时候,霸王出现了。坏人就便当了。

霸王,说你愿意跟我么,刘亦菲说我愿意。这剧情真招人恨。

然后霸王这个白痴就让刘邦带着自己的女人跑路自己去打怪了,然后刘邦就趁着霸王和自己不在一个区,带着霸王的女人直接转到咸阳服务器了。

然后霸王就很不爽,觉得刘邦不顾基友情谊,擅自率先转服。就要请刘邦吃饭。刘邦也知道,前老板请吃饭肯定没好事,但是不能被兄弟们笑话不然以后怎么单干。于是历史上就有了鸿门宴。

其实我觉得流氓这个角色设定还不错,虽然编剧/导演(一个人)在很多剧情上加入了不菲的YY成分,不过个人认为,刘邦这个市井痞子出身所独有的奸猾还是挺到位的。比如他就知道兄弟们会拦着他,所以他故意跟兄弟们说我只为安天下不为问九鼎。比如他就知道张良在试探他,所以他故意装作深明大义,要把咸阳还给霸王。比如他就知道萧何不会私吞自己的帅印,所以才把帅印留给萧何。比如他早就打算在大业做成之后就干掉手下,还故意装作被锦囊反奸。所谓乱世奸雄,我觉得也不过如此。曹操那种明奸反而是下等了。

比较奇怪的是张良。搞不懂他在想什么。鸿门宴的时候非得下棋,结果连饭都没吃。但是如果不吃饭,我总觉得这就算不上是宴,所以总觉得鸿门宴被他搞得很奇怪。而且临行之前,张良告诉刘邦说你一定要忍辱负重,结果鸿门宴一开始,他就非得跟亚父比高下,唇枪舌剑不肯服软。你妹的忍辱负重啊,主公都低声下气了你还非得惹事。你图个什么啊。

啊对了他们斗棋的时候,总觉得那个音乐是河北梆子。就是相声《羊上树》最后唱的那段“领了个岭矿玲玲狂”囧……

然后是韩信,我觉得韩信跟樊哙是一个人= =,有点傻傻分不清楚了都……

我觉得楚汉相争的时候,中国错失了一个结束一党专政的好时机。要是刘邦和项羽两人分为刘派和项派共同治国,估计汉室就兴旺了也不一定。就是范增张良刘邦项羽这对儿货非有什么天道无常你我二人得死一个之类的邪教信仰,害人害己……

电影作为历史题材倒是贯彻了国产电影一贯的恶搞风格,不过我倒看的很开心因为槽点很丰富。豆瓣上我给5分。大家要是图个乐呵,可以去看看,还是挺好玩的。

 

2011年12月5日 catbaron No comments

关于时间旅行的一些讨论

前言

穿越是近年来大家喜闻乐见的娱乐活动。大众开始关注穿越,我想“电视剧”这种大众媒体形式应该做出了不小的贡献。从很久之前大名鼎鼎的《寻秦记》,到现在各种“清穿”剧,还有在微博上被炒起来的《李献计历险记》,都在某种程度上代表了穿越的一种类型。作为一个伪资深理论科幻读者,某猫将在本文对“穿越”这一行为做一个全面的分析和总结,希望能够带领大家穿越迷雾,一睹芳容。

接下来,我们分别来看一下和时间旅行所相关的有趣原理和其可行性分析。

 时间旅行的问题

时间旅行是一个看起来很高回报的事情,因为能用来买彩票之类的。其实这个问题牵扯到的课题有很多。先不说它可行性如何,我们假设它是可行的,那么我们就得面对很多匪夷所思的事情,而很多已经不是技术问题,而是哲学问题了。

比如最典型的,众所周知的祖父悖论:

如果你回到过去,把自己的祖父干掉,那么你就不会出生,也就不会有“回到过去干掉你祖父的那个你”存在,也就是你的祖父不会被干掉,那么你就会出生,你就能回到过去干掉那个悲剧的祖父……

那么,你的祖父的健康状况到底怎么样呢?你的老爸和老妈有没有没羞没臊?这一切都成了不确定的事情。“不确定的历史”,不仅仅是“因为史料不足而不能断定”,而是“本身就不是一个确定的事情”,这是一件挺可怕的事。

为什么这么说?因为整个人类文明的进化,都是建立在一个确定的历史积累上的。所有的上层建筑都必须有一个确定的基层支撑,这个支撑对错无所谓,但必须是确定的。而一旦它“既是对的也是错的”,那么它就是不牢靠的。而它所带来的影响,也是根本无法预料的。它所造成的所谓的“蝴蝶效应”也是一个十分棘手的问题。

butterfly.jpg

 图.蝴蝶效应。微小的举动会带来巨大的冲击

除了“祖父悖论”,还有一个更现实的问题,那就是文化差异带来的冲击。一个人无论是回到过去还是未来,时间的差异带来的环境差异,使得生存变得很艰难。从生理上来说,免疫系统能否适应当时的生化环境;从文化上来说,能否融入当时的社会;从生活上来说,考什么养家找姑娘等等,这都是问题。在《(想不起来名字了)》中,有一个单向的回到过去的机会,参与者可以选择自己喜欢的年代和地点。主人公认为自己可以回到过去,并且靠“生产收音机”谋生(笑)。结果却是一个挺悲惨的结局。因为一个人掌握的“现代技术”,都是建立在“底层技术”的基础上的。比如你要造收音机,就需要半导体,生产半导体就要想办法提取硅晶体。这些流程一个人很难完全掌握。所以,战场上牺牲的,都是乐观的家伙。

在很多小说中,“祖父悖论”都是一个挺经典的课题,作者一般会用巧妙的情节安排来解决这件事情。

比如《谁杀了默罕默德》中,作者提出这样一个概念:

每个人的历史都是独立的。

整个宇宙的历史是由不同个体的历史组成,所以一个人如果穿越时间回到过去,他所改变的历史知识自己的时间轴,所影响的也只是他一个人。所以,小说中主人公回到过去干掉了很多他认为重要的历史人物,包括默罕默德,导致的结果是,他自己的时间轴完全偏离了宇宙的时间轴走向,导致回到“现在”的时候,已经成为了“幽灵”,不能被普通人所感知到。

而在《突然的时间机器》中,作者提出的时间机器有个特点

没次跳跃,时间机器都会从这个时间点消失(不会在此时等待被传输物品的回传),和被传输物品一起前往未来。

就是说,如果你想去时间旅行,你就把自己和这个时间机器关在一个“法拉第笼”里面,然后启动它,你、机器和法拉第笼就一起出发了。

在这种设定下,作者构想了这么一个场景:

如果你回到过去,那么在时间轴上就会出现一个环,而时间机器只在这个环中出现。如果你想前跳跃,而且跳跃的距离够大,那么就可能发现在那个足够远的未来并没有出现这台时间机器。也就是说,受到影响的只有时间轴的一部分。在未来任意一点的“现在”,都会按照历史的剧本表演下去。

time.png

图.时间轴。只有红色方框内的时间轴里有

时间机器,所以两边的时间轴感受不到时间

机器的影响

 在《(我承认我有名字记不起来综合症)》中,一个政客因为看不惯对科学的巨大投资,而想要回到过去,把对“科学和幻想”有重要启示意义的克拉克(著名科幻作家,科普作家)的命运改变。他导致的结果类似于祖父悖论,因为“时间机器的产生”本身也受到了“克拉克”的影响。所以当他回到“现在”的时候,会发现历史同时存在两个版本,一个是克拉克从事科学事业的版本,一个是克拉克从军的版本。而这两种历史都存在于自己的记忆中。

用作者的话说,“历史变成了量子态”。但是事实上,即使历史是量子态,那么也不会有这种“同时被观察到”的情况。这种比喻是出自著名的“薛定谔的猫”:

把一只猫关在有辐射开关的箱子里面,一个粒子的衰变会打开这个开关,而这个例子的衰变在任意时刻都是随机的。那么在我们打开箱子看之前,这只猫的状态是不确定的,它既是活的,也是死的。而我们打开箱子,我们的观察就会对这个量子态产生影响,量子态会坍缩微一种确定的状态,活着或者死亡。

          xuedinge.jpg

图.薛定谔的猫。TBBT里面有这件T恤,上面的字

黑色部分是ALIVE,底色部分为DEAD,下面的猫

也同时有两种状态

 也就是说,如果我们要确认历史是否被改变,那么我们是对历史的“量子态”施加了“观察”,这会导致历史量子态的坍缩,而变成一个确定的状态。

所以,即使存在“量子态的历史”,我们也不会有机会能够“观察到”它。

祖父悖论还有一个变种,如果不是回到过去,而是可以预测未来,也会引发类似的矛盾:

我预测我会在上班的路上遇到李刚的儿子,那我不出门不就好了,如果我不出门,那么我的预测就不可信,那么我就不会遇到李儿子,那我就可以出门了……

对于这种矛盾,有很多更有意思的处理。比如在《镜子》(刘慈欣)中,基于弦论的超级计算机模拟出了整个宇宙的前世今生,所以可以在计算机上演示出任意时刻任意地点发生了什么事情。这就有上面的预言矛盾了。

大刘对这件事情的处理是,在短期内,预言可能会失效。但是从长远来看,整个文明的发展步伐是可以预见的。即,随着时间的流逝,这种“预言”带来的影响会被冲淡。就像《哆啦A梦》第一集出场的时候说,时间像地铁一样,可能中间的路线不同,但是最后总会到正确的终点。用《侏罗纪公园》的话来说就是,自然自有其法。

A.jpg

图.哆啦A梦。这是最受欢迎的死胖子了。而且他从来

不管时间旅行带来的逻辑问题,事实上它采取的方法正

是下面提到的“一切尽在历史掌控中”。

 这种“长远无关性”的观点,阿西莫夫在《基地》中也有类似的分析,并把它叫做“心灵历史学”。所谓心灵历史学,是把文明的发展过程抽象为统计数学模型,虽然不去精求独立个体的发展状况,但是在长远和大局上,却可以做出准确的预测。

相对于上面的戏剧设定,更普遍的剧情戏法则是,主人公穿越时空本身就是历史的一部分,也就是一切都在历史的掌控之中,包括人类自以为是的时间跳跃。

这种设定也是最近比较常见的,因为他不需要解决逻辑问题。比较典型的就是《寻秦记》和《宫》这种狗血剧了。

在科学上,作为一个完美的补丁,爱因斯坦提出了光速极限。这也是很多流行的“超光速带来时光倒流”的理论依据。而爱因斯坦提出光速极限的相对论,并不是说宇宙中不能出现超过光速的速度,而是“没有任何能量信号的速度可以超越光速”。而事实上,我们来模拟一下德布罗意的一个公式推导,就可以看到:

[c]
E=mc^2——质能方程
E=hv———-光电效应方程,h是普朗克常量,v是波的频率
[/c]

得出的结果就是,v = mc^/h。也就是,任意物体都以这个频率在震动,这就是“物质波”或者“德布罗意波”。

而德布罗意在运算后得出,一个电子以v0的速度前进时,他伴随着一列速度为c^2/v0的波。

德布罗意.jpg

图.德布罗意。这哥们发现,我们其实都是一堆震动,只不过在低速

的条件下,波长小的无法产生衍射。这种事情以后会再聊

可以看到这列波的速度是远大于光速c的。只是,这列波没有携带任何能量和信息,所以还是在相对论的允许范围内的。不过这证明,速度的极限并不是光速(这段故事摘自《量子史话》)。

好,现在抛去哲学问题不谈,假设我们可以解决那些逻辑问题,我们再来看一下,回到过去,需要付出什么技术上的代价。

假如我们认为,你是带着你皮囊和mp4回到过去的,也就是说,这是一个物质传输的过程。那么挡在我们面前的第一个问题就是,质量守恒定理。 这个世界上100kg左右的东西忽然不见了,这算怎么回事。

还好,很多情节中,在穿越发生时,都会象征性的出现雷击,发光,燃烧等能量现象。我们可以解释为,质量并没有消失,只不过是质能方程了。

[code]E=MC^2[/code]

也就是说,这些质量并没有消失,而是以转化别的东西,并且释放了大量的能量。而同时,在遥远的时间轴的另一端,一大团能量转化为了100kg左右的质量并且组合为了一坨肉和一个mp4。

我们这个简单的质能方程可以算出来,100kg的物质所蕴含的能量有多大?大概是10^18焦耳这种数量级……顺便查了一下,当时在广岛的“小男孩原子弹”能量大概是5.5×10^13焦耳。

bang.jpg

图.日本的那个原子弹。这种时间旅行的能量代价有点略贵啊

啊对了,有部小说就利用时间旅行不断积累能量,最后回到了宇宙初期,并且借用时间的能量来创造了恒星,大概就是这个思路了。 所以,这种方法这,听起来就挺玄,不靠谱,而且太危险,不够隐秘,没有实用性。

 

那么我们能不能尝试一下别的方法?

 

我们可以设想这么一个场景:

 

有一天,一觉醒来,你发现你躺在了一个古典的厢房中,窗外景色萧然,于是叹道:“春花秋月何时了……”

 

28901204818438161.jpg

 

图.悲剧的君王,最糟糕的穿越对象之一

 

 这种取代过去的历史人物的做法看起来很聪明,因为没有质量守恒这种麻烦的束缚。

 

“取代”这种方法,可以说成是“思维”传递。也就是精神层面的穿越。这种方法可行么?

 

所谓思维和意识,我们这里简单地抽象为大脑的活动。《化学之歌》唱的好,大脑活动其实本质上是化学变化,而化学的本质也是原子电子的运动。“宿命论”认为,(ps:爱因斯坦是支持宿命论的)所有的运动都应该是可以被预测的,所以从某种角度来说,无论是历史还是未来,都是已经被确定的。从这个方面来讲,任何人,作出的任何决定,都已经是命中注定的。这未免十分无趣了点,而且,如果一切都是注定的,穿越时空也根本没什么意义。不过,我们还是在这个框架下,讨论一下“回程船票”的制作方法。

 

我们已经假设,所谓的“回到过去”,是一种思维状态的替换:用2012年的你的思维,去替换1012年的思维,这样1012年的某个家伙忽然拥有了你的所有记忆和知识,以及所谓的人格。(不过2012年的你还是得面对买不到票的窘状……)这样,我们不得不思考这样一个问题:

 

1012年的人忽然发现,自己身边有一个人声称自己来自遥远的未来,并且描述了一个可怕的世界,尽管一切细节都很清楚,却摆明的都是不合逻辑的妄想,什么会跑的铁盒子,能看到千里之外的铁盒子,能自动加热的铁盒子,会飞的铁盒子……等等

 

想象一下如果你身边出现一个人总这么胡言乱语,那你会把他当作什么?虽然我是一个科幻读者,更容易接受匪夷所思的事情,但是八成我还是会把他送到非正常人类研究中心去。

 

总之,“穿越”这件事情,似乎被等价成了一种精神疾病。我们需要做的是,找出这种疾病的致病因素并加以利用。

 

从概率上来讲,是存在一个极小的概率,使得1012年的某天,组成某个人脑部的所有微粒的所有运动状态都和2012年的你是一样的,这种现象可以当作是“自然发病”。而且很明显,这种概率已经小到让人无法接受了。我们需要人为地诱发病因。

 

组成人思维状态的事情太过于复杂,如果对每个微粒都做出认为的干扰去达到我们希望的状态,这种代价是不可估量的。那么我们可以利用的最好工具,就是“蝴蝶效应”了。

 

关于蝴蝶效应,简单地说,就是用一个小的干扰,来造成一个复杂的影响。在我们没办法去对每个因素都做到恰当的操作,我们就可以尝试把一个小的扰动传到1012去,让他作为银弹,做出关键的影响。好像是推倒多米诺的第一张牌,并不需要多少能量,但是他造成的影响却是深远而巨大的。包括原子弹的链式反应,其实也是蝴蝶效应的应用之一。

 

lian.png

 

图.链式反应其实也是一种蝴蝶效应的应用,当然前提

 

是这种效应经过精确的构造使其可控

 

我们上面已经讨论过,把实际的东西传送到过去,是没有可能性的。(记得质量守恒哈?)而我们也不能把任何信息能量传送到过去(相对论的约束),我靠那肿么办……

 

科幻的在下面(下面胡扯部分比较多,很多都是我个人臆想,大家看着玩吧……):

 

我们知道,所谓的波动,传递的只是一种运动形式。而鉴于任何物质都是有波粒二向性的,比如电子这种东西,他可以呈现波动性,也可以呈现粒子性。而上面的讨论也提到了,电子在运动的时候,可以产生一个超光速的波动。那么,这种超光速的波动,是不是可以击穿时光的枷锁?

 

不管怎么说,我们总算拿到了“超光速”这把趁手的工具,接下来,我们就用它来配合蝴蝶效应来完成我们的大业。

 

我们精心构造一列波,当然是利用电子的震动来构造,具体的方法可以控制温度和热量的传递来控制电子的震动,产生具体的德布罗意波。这种波是在微观状态下,因此它可以影响到其他电子的运动状态。

 

很好,现在这列波超光速地运动,并且跃迁到了1012年,并且恰好出现在了某个人的大脑里面。在这个过程中,我们违反没有任何物理定律,我们只是在逻辑上传递了一个波动运动形式,事实上,穿越的也只是波动的运动形式,而非波本身。

 

还记得高中的内容吧,一条承载正弦波的绳子,作为波的载体,它上面各个质点在波的传播方向上是没有位移的,也就是绳子并没有跟着波动一起跑,跟着波动一起跑的只是各个质点的运动形式。这里也是一样的道理,我们传递的,只是这个波动的运动形式,但是这就足够了。

 

shengbo.jpg

 

图.说白了,波动只是一种运动形式,而且质点的运动和波动

 

的运动方向是垂直的,物质不会跟着波动前进

 

这列波的运动,会对1012年的病人造成致命的影响,它通过类似于原子堆裂变的链式反应,或者通俗一点,类似于多米诺效应,使得这种影响扩展到整个大脑。而这种波动是我们精心构造的,所以它造成的影响也应该是我们所期望的。也就是,我们把你的思维,成功的复制到了1012年。

 

怎么样,nice吧。虽然这个过程并没有什么商机可言,也好像没有什么具体的实用性,但是,这毕竟是穿越科学上一个伟大的时刻。证明“能做”往往比找到“能做什么”更有意义不是么。

 

也许,你对于这种穿越时间的远程操作依然保有怀疑态度,那么我可以顺便介绍一下别的概念。

 

我们习惯上,总是按照时间的箭头方向去考虑问题,这也和我们本身处于三维空间的大脑构造有关,因为我们无法观测第四维(时间),所以只能受其支配,导致的思维习惯便是,我们总是认为,原因à结果这种模式是合理的,也就是我们认为一个原因导致一个结果是天经地义的,却从来没有想过原因和结果的逻辑关系其实是“原因ßà结果”。然而这也并不是不能改变的。福尔摩斯曾经对华生说,“人们总是习惯根据已经发生的事情来判断其将导致的结果,然而我通过锻炼,可以通过结果来推测导致它的原因,这和你们通过原因推测结果的行为一样自然。”

 

fuermosi.jpg

 

图.提到逻辑不说福尔摩斯总觉得过意不去啊……

 

我们也许可以说,逻辑上的“原因à结果”这种流向,并不是不可逆的。

 

 这种概念,在《空之境界》中表现的极为形象。(虽然是一个魔幻故事)简单地来说,有一种眼睛可以看到所有物体的“死亡”,通过斩击“死亡裂痕”,被斩击的物体就会死亡,然后会导致造成死亡的原因。比如,“断裂而死”这条裂痕被斩击了,那么这个物体会先死亡,然后会根据“死亡的结果是断裂而死”,自己断裂。

 

S.jpg

 

图.直死之魔眼。看到的死亡是一种裂痕

 

从某种角度来说,这也是对宿命论的一种臣服。整个环节的顺序虽然有颠倒,但是它还是需要有完整的过程的。

 

而我们的波动传递,从这个方向来看,也是类似的。因为我们需要首先知道结果,并且根据结果来构造这个波动,再从逻辑上去影响过去。

 

到这里,我们讨论的穿越,就已经是一种逻辑和哲学问题了。那么,就此打住吧。大家后会有期。(完)

 

Ps:上面讨论的穿越的思路,从某种角度上是需要对电子进行精准操作的,而实际上,对于这种微观粒子,“测不准原理”影响十分巨大,就是我们无法同时准确地捕获一个微粒的动量和位置,所以这种操作也是不现实的。而且,提到的“宿命论”其实也基本上被现代物理学否定了。所以,我们的人生还充满不确定性的,这是多美好的事情。

 

文中有很多不合理的地方,行家可以挑出来大家笑一笑就好了,不要认真。

 

2011年10月13日 catbaron No comments

日志统计脚本

今天同学说让我写个脚本统计日志。日志是一些ip的捕捉记录,根据协议的类型定义了一些ID和子ID。统计的需求是统计出各个类型的客户ip和服务ip。

这些日志是自动写入的,每天会根据日期生成一个文件夹,文件夹中每个小时生成一个日志文档。脚本要做的就是便利24个文档,读取内容进行分析。

由于需要把24个文档在一起分析,所以同学一开始的思路是:

对每一个类型进行统计,每次统计都遍历所有文件

明显效率不怎么样,但是实际上也够用了因为只要在服务器上让脚本跑起来,过几分钟回去看结果就行了

但是因为脚本要给别人看==,所以不能太难看,因此要重新写一下。

开始的脚本是shell脚本,我不太熟悉,所以用python重写了

思路就是定义一堆list变量用来记录ip,每读入一个ip就在list里面查找(not in),如果找不到就插进去。

最后统计list的长度

这样只需遍历一边文件就行了,但是……………………………………

不知道为啥,貌似python写完之后比原来还慢

后来同学一句话点破,not in 查找的时候需要对字符串进行匹配,而原来的shell脚本是用sort排序之后用unique进行去重统计,难怪这么慢。

于是考虑将ip字符串转换成long型再存储在list里面,这样匹配的时候是不是能快点?

但是结果好象还是不理想。在少量数据(两个日志文件)的时候,大概能比shell(8s)脚本慢几秒种(16s,是两倍左右),但是在大数据量的情况下就不容乐观了(多出1/3左右的时间)。

大量数据的情况下会慢几分钟==

不过貌似数据量越大差距越小,足够大的话游客能超过shell,但是差距还是太差了啊.

后来在网上查找了一下,发现原来字典的查找速度更快,因为字典在查找的时候使用hash。于是尝试把所有list换成字典。

果然效果神速。在两个文件的时候,2.9秒左右。既然hash了,那么将ip转化位long型也没有意义了反而做了无用工。去掉之后大概是2.7秒。

然后调整了匹配的顺序,将数量较多的类型先匹配,这样又快了一点点。

如此做一个总结:

1.python中list进行查找和去重的时候(in 操作),使用字符串的匹配,所以速度比较慢。如果存储的是整型则会快一些(数量多的时候还是很慢)。
2.字典使用哈希查找,因此速度很快。
3.调整匹配顺序也可在一定程度上优化速度。

 

2011年10月9日 catbaron No comments

读取文件奇数行

今天处理“如何读取文件偶/奇数行”这个问题的时候,本来是打算用python来解决

 

python本身是很简单的,偶数代码如下:

 

f = open(‘./test.file’,’r’)

while f.readline():

print f.readline()

奇数行代码如下:

f = open(‘./test.file’,’r’)

print f.readline()

while f.readline():

print f.readline()

在网上想看看别人怎么做的,结果发现大部分是shell中的实现,尤其是用sed命令实现。以前没用过这个工具,居然这么简单:

读取奇数行:

sed -n ‘p;n’ ./test.file

读取偶数行:

sed -n ‘n;p’ ./test.file

-n:quite,就是不会将读取的文件行默认显示出来

‘n;p’:这是两个命令,读取一行之后,对这一行进行两个操作

n就是直接读取下一行

p就是打印该行

 

于是效果就是,读两行打印一行

‘n;p’和’p;n’的区别就是先读还是先打印了,也就达到奇偶切换

 

2011年10月9日 catbaron No comments

海量数据处理总结

备战百度,在海量数据处理的主题上做一个总结。

详情来自http://www.cnblogs.com/pkuoliver/archive/2010/10/02/mass-data-topic-1.html

 

1.bloom filter

将数据通过hash函数映射到位数组,比如hash(str)=3则将位数组第三位置为1

对每一条数据都用k个hash函数进行映射,也就是一条数据会将位数组的最多k位的值置1

 

在查找数据是否存在的时候,则对其进行k次hash,如果位数组中对应的各位都被置1了,则说明该数据已经存在(明显是有一定错误率的)

 

bloom filter可以用来实现数据字典,进行数据的判重,或者集合求交集

 

同时,对其进行改进,即位数组每一位不再是0/1,而是数据出现的次数counter,那么出现数据则+1,删除数据则-1,这样可以实现删除操作。

 

实例:

给你A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出A,B文件共同的URL。如果是三个乃至n个文件呢?

根据这个问题我们来计算下内存的占用,4G=2^32大概是40亿*8大概是340亿,n=50亿,如果按出错率0.01算需要的大概是650亿个bit。 现在可用的是340亿,相差并不多,这样可能会使出错率上升些。另外如果这些urlip是一一对应的,就可以转换成ip,则大大简单了。

 

2.hash表

hash表主要是整合了线性表”定位容易,添加删除复杂“和链表”添加删除容易定位复杂“的特点,将二者结合起来。线性表每一个元素位一个指针,指向一个链表。通过hash函数将一个数据映射到某个元素指向的链表上。如此查找是可以通过hash定位到链表,在链表中进行添加删除操作。

 

散列的方法有很多,不同的散列算法会导致链表的分布均衡问题。比较好的算法是非波那契算法

 

i ndex = (value * 理想乘数) >> 28

 

其中理想乘数为:

1,对于16位整数而言,这个乘数是40503

2,对于32位整数而言,这个乘数是2654435769

3,对于64位整数而言,这个乘数是11400714819323198485

适用

hash表适用于快速查找,但是需要数据可以全部放入内存。

 

作为扩展,可以使用d-left hashing

d-left hashing中的d是多个的意思,我们先简化这个问题,看一看2-left hashing。2-left hashing指的是将一个哈希表分成长度相等的两半,分别叫做T1和T2,给T1和T2分别配备一个哈希函数,h1和h2。在存储一个新的key时,同 时用两个哈希函数进行计算,得出两个地址h1[key]和h2[key]。这时需要检查T1中的h1[key]位置和T2中的h2[key]位置,哪一个 位置已经存储的(有碰撞的)key比较多,然后将新key存储在负载少的位置。如果两边一样多,比如两个位置都为空或者都存储了一个key,就把新key 存储在左边的T1子表中,2-left也由此而来。在查找一个key时,必须进行两次hash,同时查找两个位置。

 

实例:

海量日志数据,提取出某日访问百度次数最多的那个IP。

IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。

 

3.Bit Map

类似遇bloom filter。若value==3,则将位数组第3位置1。这样,对于一串数字,进行如此造作后,从便利该位数组,若某位为1则输出下标,这样便完成了排序。

和插入排序很类似,但是其存储空间很小,适用于大量数据的排序,查重等操作。

 

实例

1)已知某个文件内包含一些电话号码,每个号码为8位数字,统计不同号码的个数。

8位最多99 999 999,大概需要99m个bit,大概10几m字节的内存即可。 (可以理解为从0-99 999 999的数字,每个数字对应一个Bit位,所以只需要99M个Bit==12.4MBytes,这样,就用了小小的12.4M左右的内存表示了所有的8位数的电话)

2)2.5亿个整数中找出不重复的整数的个数,内存空间不足以容纳这2.5亿个整数。

将bit-map扩展一下,用2bit表示一个数即可,0表示未出现,1表示出现一次,2表示出现2次及以上,在遍历这些数的时候,如果对应位置的值是0,则将其置为1;如果是1,将其置为2;如果是2,则保持不变。或者我们不用2bit来进行表示,我们用两个bit-map即可模拟实现这个2bit-map,都是一样的道理。

 

4.堆

二叉堆是一种二叉树,最大堆为例,没一个节点都小于它的字节点。树是完全平衡的,并且最后一层的树叶都在最左边。

 

堆的操作主要是添加和删除。

 

适用

海量数据前n大,并且n比较小,堆可以放入内存

 

实例

最大堆求前n小,最小堆求前n大。方法,比如求前n小,我们比较当前元素与最大堆里的最大元素,如果它小于最大元素,则应该替换那个最大元 素。这样最后得到的n个元素就是最小的n个。适合大数据量,求前n小,n的大小比较小的情况,这样可以扫描一遍即可得到所有的前n元素,效率很高。

 

5.双层桶思想

当数据量过大的时候,进行比较,查找处理较为复杂,因此可以考虑将大量数据操作划分位对很多小部分数据的操作。直接看例子:

实例

1).2.5亿个整数中找出不重复的整数的个数,内存空间不足以容纳这2.5亿个整数。

有点像鸽巢原理,整数个数为2^32,也就是,我们可以将这2^32个数,划分为2^8个区域(比如用单个文件代表一个区域),然后将数据分离到不同的区域,然后不同的区域在利用bitmap就可以直接解决了。也就是说只要有足够的磁盘空间,就可以很方便的解决。 当然这个题也可以用我们前面讲过的BitMap方法解决,正所谓条条大道通罗马~~~

 

2).5亿个int找它们的中位数。

这个例子比上面那个更明显。首先我们将int划分为2^16个区域,然后读取数据统计落到各个区域里的数的个数,之后我们根据统计结果就可以判断中位数落到那个区域,同时知道这个区域中的第几大数刚好是中位数。然后第二次扫描我们只统计落在这个区域中的那些数就可以了。

 

实际上,如果不是int是int64,我们可以经过3次这样的划分即可降低到可以接受的程度。即可以先将int64分成2^24个区域,然后确定区域的第几 大数,在将该区域分成2^20个子区域,然后确定是子区域的第几大数,然后子区域里的数的个数只有2^20,就可以直接利用direct addr table进行统计了。

 

3).现在有一个0-30000的随机数生成器。请根据这个随机数生成器,设计一个抽奖范围是0-350000彩票中奖号码列表,其中要包含20000个中奖号码。

这个题刚好和上面两个思想相反,一个0到3万的随机数生成器要生成一个0到35万的随机数。那么我们完全可以将0-35万的区间分成35/3=12个区间,然后每个区间的长度都小于等于3万,这样我们就可以用题目给的随机数生成器来生成了,然后再加上该区间的基数。那么要每个区间生成多少个随机数呢?计算公式就是:区间长度*随机数密度,在本题目中就是30000*(20000/350000)。最后要注意一点,该题目是有隐含条件的:彩票,这意味着你生成的随机数里面不能有重复,这也是我为什么用双层桶划分思想的另外一个原因。

 

6.数据库索引

 

7.倒排索引

所谓倒排索引的意思,就是建立索引的时候,不是按照key-文档,value-语素这样的形式建立,而是按照key-语素,value-文档这种形式,而且在value中保存了文档编号和该文档中出现语素的次数等信息。

 

因此在检索的时候,不必遍历所有文档,而只需便利查找的query关键字即可。

 

2011年4月26日 catbaron No comments

OpenVPN分析

OpenVPN

从架构上来看,OpenVPN在某种程度上和tinc或者和VTun比较相近,它是一个基于用户模式(user-mode)的程序,通过TUN/TAP接口与TCP/IP栈进行通信。作为用户程序运行的OpenVPN,带来了移动性和易维护性的优点,正如我们在VTun和tinc中看到的那样。和tinc一样,OpenVPN 在VPN服务中使用两种通道:一个携带用户的IP数据报文的数据通道,一个处理“密钥交互和配置(key negotiation and configuration)这种协议事务的控制通道。

OpenVPN 把两个通道都封装在UDP数据包中。两个通道使用相同的端口,所以一个给定的数据报既可以包含数据通道数据也可以包含控制通道数据。因为OpenVPN使用TLS协议进行认证和密钥交换,而TLS需要一个可靠的传输层,所以OpenVPN在控制通道中添加了一个可靠的层。这样保证了TLS所需要的可靠性,但是在数据通道中没有高可靠性的层( but that there will not be competing reliability layers on the data channel),所以我们在SSL和SSH VPN 中看到的干扰现象不会发生。

正如我们在本章中其他VPN中看到的,OpenVPN可以携带IP数据报或者物理数据帧,它可以在IP层或者数据链路层进行操作。我们将把注意力集中在它在IP数据中的应用,但是其他模式是相近的。

OpenVPN 安全模式
OpenVPN 可以通过两种安全模式运行。两种模式各有利弊,但是正如我们将要看到的,只有一种使用与需要高于常规安全(more than casual security)需求的情形。我们在本节简明地介绍一下两种模式,但是把详细分析留给相对更安全的那一个。

我们把第一种模式叫做“静态密钥方法”(static key method),在这种模式下,两个节点利用预先分享的密钥进行加密和认证。这些密钥在节点使用VPN之前协商配置。当然,这就意味着,必须使用其他的安全措施来在节点之间通知(inform)这些密钥。

默认情况下,有两个密钥:一个用来加解密,一个用来进行HMAC认证。在这种情况下,两个节点使用相同的密钥。配置OpenVPN使用四个密钥—可以这么做,而且这样更安全–每一个节点都有一个HMAC发送密钥和一个接收密钥,一个加密密钥和一个解密密钥。就是说,每一个节点都有一组发送密钥和一组接收密钥。这样坐的好处是,增加了密钥猜解的难度,并且降低了单个密钥被猜解之后的危害。

抛开使用四个还是两个密钥的问题,我们都应该警惕这种方式下,重复使用事先协商的密钥带来的弊端。同样的密钥将会用在VPN的整个生命周期,并且用在VPN的每一个请求,知道人为的改变或者VPN重启。尽管在不同的传输方向上使用不同的密钥可以减缓”使用相同密钥加密的数据量的增长速度“,但它能做的也就是减缓而已。最终,加密数据积累,事先商定的密钥变得越来越脆弱和敏感。一旦密钥被猜解,使用这个密钥的所有请求中的所有被传输的数据都变得可读。

传说中,静态密钥方法的优势在于,配置方便。VPN的管理员不许要被证书或者证书认证困扰,这正是第二种方法所需要的。(……)

第二种方法,被称作TLS方法,使用SSL协议来使每一个VPN节点和对应节点进行认证和交换密钥和其他控制信息。在这中方法中,OpenVPN为控制通道在它的节点之间建立一个SSL/TLS对话。在认证状态下,节点之间交换被信任的第三方CA签名的证书。这样保证了双方都确定都是在和他们想要的终端进行通信,同时也阻止了“中间人攻击”。

一旦认证完成,而且SSL对话已经在节点之间建立,OpenVPN就使用这个连接去协商数据通道的对话密钥。管理员可以配置OpenVPN基于任意传输的字节,报文或者时间去重新协商这些密钥。这样可以避免像头密钥加密的数据积累,而且提供了一个近乎完美的保密策略:猜解一个给定的密钥,不会影响到使用这个密钥之前和之后的数据。

TLS方法提供了一个十分健壮的认证和密钥交换机制。除了我们上面提到的短期的VPN服务,我们总是应该选择这种方法。下面的讨论都限制在这种方法上。

数据通道
正如我们前面提到过的,OpenVPN使用UDP作为他的传输协议,提供了一个良好的数据通道。

OpenVPN 可以选择TCP连接来代替UDP。尽管这在特定的环境下十分方便,但它重新引入了竞争性可靠层的问题,所以应该尽量避免。

通过UDP,我们得到一个类似的封装,如下图8.25:

 

OpenVPn 把负载头部分为两个部分:报文头部(packet header),标识了报文的类型和密钥数据;和数据负载头部(data payload header),包含了认证,IV,和数据报的序列号。

图8.26:

 

图8.26显示了TCP和UDP的报文头部结构。TCP版本中的packet length域显示了接下来数据报的长度。在UDP中不需要这此域,因为UDP十一个基于报文(packet-oriented)的协议,而TCP是基于流(stream-oriented)的协议。Op code域标识了数据报的类型。图8.27显示了所有可能的值。

图8.27

 

key Id域表示了数据报使用的密钥类型。我们很快会测试这个特性。

从8.25中可以看到,加密和认证的数据有一部分扩展到了数数据负载头部中。准确的机构在图8.28中有清晰的描述,结合了数据负载头部和数据负载。

图8.28

 

HMAC域基于标准的SHA-1或者MD5HMAC。正如图示,这个数据域对负载,数据报ID和IV进行了认证。IV是为CBC-mode加密生成的一个随机初始向量。

除了CBC加密模式,OpenVPN还支持CFG和OFB加密模式,都需要IV。

IV通常是64位或者128位。

packet ID 域作为序列号来防止重放攻击。OpenVPN为这些序列号保留了滑动窗口机制,如果接收的报文在窗口的左边,或者在窗口中但是已经接收过像头序列的报文,这个报文将被丢弃。如果接收的报文在窗口的右边,窗口将向右滑动,使得右边界位于新接收的报文序列处。这个滑动窗口机制和我们在tinc中看到的很类似。

除了滑动窗口,OpenVPn 还提供了时间测试,丢弃那些在接收到更高序列号的报文之后t时间的乱序报文( rejects out-of-order packets that are received more than t seconds after any packet containing a higher sequence number)。这个可配置的t参数默认为15s。窗口的宽度也是可以配置的,默认为64个序列长度。

图8.28显示了packet Id为32位,是它使用CBC加密模式时的长度。使用CFB,OFB,胡子哦和静态密钥模式时,他的长度都是64位。在CFB/OFB加密模式中,这个包含了时间戳和增量计数的64位数据包含在IV中,作为一种空间节省策略。

如我们所见,OpenVPN 的数据通道完美地满足了我们对VPN的需求:一个存在域主机或者网络之间的加密和认证通道。我们讨论安全性时将会看到,数据通道的设计十分优秀,不存在任何明显的安全缺陷。事实上,它精确模仿了IPsec ESP协议,而且在此协议在发展和部署中学到很多优点。

Ping和OCC协议

除了传输用户数据,数据通道还携带限定数量的控制信息。OpenVPN可以设置为使节点发送“维持(keep-alive)”消息,如果他们没有在规定时间内接收到这个消息,则可以关闭或者放重启VPN连接。尽管OpenVPN把维持消息看作ping包,但是他们并不是ICMP下的ping包。接收到这个ping,节点会重置接收时间并丢弃ping包。这个ping包作为一个携带一个唯一序列号的普通数据通道数据被传输。

应该注意到,这个协议只是要求每一个节点不要太久不在数据通道中发送数据。如果一个节点在超时之前没有接收到数据,它就可一根据配置来重启或者关掉VPN。一个节点并不期望得到ping包的回应,甚至不知到对方是否收到了自己的ping包。

在通道初始化的时候,节点使用OCC加密模式相互加换配置信息。和ping包一样,这些信息作为普通数据通过数据通道传输,并且通过一个唯一的序列号来和其他数据包区分。通常,这些信息的格式如图8.29所示。

图8.29

 

OCC magic域是一个16位的唯一序列号,用来标识OCC数据包。这是必需的,因为数据通道的数据报没有message type 域。OCC op code域标识了OCC信息的类型。最新定义的op code值如图8.30所示。

图8.30

 

可选的OCC data域包含了任何OCC 信息所需要的数据。比如,在OCC_REPLY消息中,OCC data域包含了节点的option string。

控制通道

正如我们在SSL,SSH,和其他轻量级的VPN一样,提供一个安全的数据通道的两大难点是,密钥管理和节点认证。这两个方面任意一个出现错误都可能到值数据通道的不安全,不论数据通道本身的设计如何优秀。在这一节,我们会看到OpenVPN如何处理这两大方面。

OpenVPN的一个优势在于,它使用SSL/TLS协议为节点提供密钥管理和认证。因为SSL协议在多年的深入发展和研究中,其安全性已经被专家们普遍认可,OpenVPN可以利用它的安全性保证VPN的安全。

图8.31显示了控制通道数据的格式。

 

session ID 域是一个64位的随机数,用来标识VPN会话。如同我们在其他协议中所见,VPN通信的每一端都有自己的session ID,在此域中出现的是发送放的session ID。

可选的HMAC域用来帮助防止DOS攻击。当使用它时,它对整个数据报进行认证,并且允许节点不需花费任何执行资源就可以丢弃一个伪造的数据包。它还可一防止一个伪造的数据包到达SSL层以探测安全缺陷,或者造成潜在的信息泄漏。此域只有在—tls–auth选项开启的时候才会出现。

packet Id域用来防止重放攻击。它和在数据通道中扮演的角色相同。当使用TLS方法时,长度位32位,否则就是64位。

可靠层使用ACK buffer 来获知一个节点的数据包。ACK buffer length域是单字节,用来标识后面信息的长度。如果是0,则ACK buffer不存在。如果大于0,则包含了ACK buffer中32位信息序列的个数。在ACK buffer 的最后是节点的session ID。节点通过这个session ID 把ACK buffer的信息和一个特定的VPN会话绑定。此session ID 也只在ACK buffer length不为0时出现。

如果这个数据包的op code是P_ACK_V1,那么ACK buffer是数据包中最后一个域。如果是P_CONTROL_V1,message sequence number域,也就是可靠层使用的序列号,包含了常规SSL数据记录的还有TLS payload 域,都会出现。

当VPN启动时,节点执行标准的SSL客户端认证握手行为。在这个行为中,通信双方都会位对方提供自己的证书。经过认证,双方都确认他们在和预订的节点对话,而且拥有了一个安全的SSL通道来位数据通道提供密钥信息的交换。

有两种密钥交换的信息。当节点根据opcode V1设定使用方法1(图8.27),它们使用的消息格式如图8.32所示。

图8.32:

 

cipher key length 域包含了cipher key 域的长度,cipher key中包含了一个随机生成的密钥供接收方解密使用。类似的,HMAC key length域包含了HMAC key域的长度。HMAC key包含了一个随机生成的密钥,供接收方对接收的数据包进行认证。应该注意的是,这里将会有四个密钥,双方各有两个。再次强调,这种方法并不完善,因为所有的密钥都由一个单独的节点完全决定。

最后的域十一个不定长的option string。option string必须和本地的option string匹配,保证两个节点的配置一致。

方法2必方法1要更加完善。每一个节点都提供了双方生成密钥的密钥数据。当方法2被使用的时候,如8.27的V2设定,节点间的交换数据,使用如下的消息。

图8.33:

 

如图所示,这个消息以4个字节的0开始,跟着是一个字节的key-method域。现在,这个域通常是2,标识这密钥交换的方法2,但是这个域允许以后添加更多的方法。

premaster secret域是由客户端生成的48位随机数据。此域提供的服务和SSL中的同名域相同:提供一个可以生成master secret的生成数据。premaster srcret域在服务器间的密钥交换中不被使用。

接下来,random1和random2两个域也在密钥生成的操作中使用。他们是32位的随机数据。因为通信双方都提供两个随机域,所以两边都不能当方面决定密钥。

optionstring length 域包含了不定长数据option string的长度。如同方法1描述的那样,节点使用option string来判别双方的配置是否一致。

user name length域包含了不定长的user name域的长度。相似的,password length域包含了不定长的password域的长度。user name和password 用在OpenVPN 运行在HTTP代理,而代理需要认证的情况。这些域可选,并且只在我们使用HTTP代理的时候使用。

密钥生成阶段和TLS使用的方法十分接近。首先,两边都通过OpenVpn master secret,客户端的random1,服务器端的random1来生成maste rsecret,使用结果和premaster secret作为输入来计算HMAC。

PRF(premaster secret, OpenVPN master secret client random 1 server random 1)

PRF函数对参数进行MD5和SHA-1 HMACs运算,并对结果进行或运算。

实际的PRF的细节比这里介绍的复杂一点。PRF函数首先把secret分成两部分,一半用来生成MD5的HMAC,一半用来生成SHA-1的HMAC。所需的输出长度是通过重复把种子数据反馈给HMACs来的到的。

一旦节点拥有了master secret,他们将利用OpenVPN key expansion(客户端random2,服务端random2,客户端session Id和服务端session ID)生成四个输入密钥(加密,解密,输入认证,输出认证)。结果和master secret用来作为PRF的输入得到密钥。

PRF(master secret, “OpenVPN key expansion” client random 2 server random 2 client SID server SID)

在密钥交换之后,数据可以在数据通道中传输了。数据通道中的数据包都用刚才生成的密钥进行了认证和加密。当需要更换密钥的时候,就重新进行密钥交换。如果不关心是方法1还是方法2,它看起来就像是最初的交换一样。为了帮助新密钥的传输,OpenVPN提供了下面三组密钥:

1.active keys

2.lame-duck keys,收回的密钥

3.另一个lame-duck keys,当密钥协商失败的时候使用。

这三组密钥解释了数据报头部的key ID 域。key Id标识了使用三组中的那一组密钥。

OpenVPN 安全性分析

不写了睡觉去。总之安全性很好。有兴趣的看原文去。

2011年3月19日 catbaron No comments

暗夜红天(译“red sky at night”)

 

By Matthew Juke(新闻作者,译者注)

20世纪九十年代,中国从一个封闭的壳中苏醒,开始看到越来越多的科幻作家涌现出来。在我们面前的,则是中国最突出也是最高产的两位科幻作家,韩松和潘海天。书虫准备在三月十七日的中国科幻和中国未来的主题中邀请此二人(who are going to be putting forth the case for Chinese science fiction and the prospects for the future of the country at the Bookworm on March 17.)

 

在此之前,他们对环球时报谈到了科幻的过去,当下,以及在未来的状况。

 

第三代(Third foundation)

早在变革和开发之前,中国科幻便开始了复兴(emerge)。而当下,这两个人都被看作是中国第三代科幻人。

在20实际80年代,也就是所谓的“黄金年代”,中国开始大量翻译西方的科幻小说。在这段时间,这也是他们的启蒙年代。说起克拉克,阿西莫夫,飞利浦·K·迪克,两个人都认为科幻在中国并不是小众市场,而是一个代表了中文文学新方向的巨大市场。

“中国并没有科幻的传统,”韩松说道,“有策略小说,有幻想小说,有悬疑小说,但是没有科幻。而且也没有科学的传统。在早期,我们有四大发明,但是没有教授科学的老师;中国人喜欢在历史中,在现实中,在想象中寻找真理,不是在未来。”

正是这一点让中国科幻很独特。并不只是在情节和语言上,更是在视野上。作为一个封闭了很长时间的国家,中国的丢掉了科幻的目光,即使仅仅是对外事务的处理,看起来也是一个世纪之前的事情了。

“中国人很少作为一个角色形象出现在科幻小说中。在最开始,中国科幻小说只能去处理中西方世界的关系。”韩松说,“中国曾数次被西方历练入侵,在他们(作家)的脑中,他们拥有对西方社会和西方人民的幻想。西方科幻有外星人,我们有西方人。”

在韩松的主要作品《2066,美国上空的红星》中设置了一个反乌托邦的英国,这个国度在经济危机中备受煎熬,生活在当时经济发达实力强大的中国的阴影下。韩松在这部作品中对东西方矛盾上的反应十分强烈,他设想了一个强大的王朝将扮演一个对双方都产生消极影响的角色。

然而,韩松承认他周围的事物影响了他的写作。一条对时事的评论可能就将成为故事中对一个未来场景的设定。潘海天也同意生活有部分影响,但却对于如何定义现代科幻小说十分纠结。他引用了他数年前提出的一个定义:

“科幻小说应该设定在极端的环境,典型地代表人类的一个部分,或者象征整个人类行为或思想进程。”潘海天解释说这是他从十年前开始思索,“它需要孤独,恐惧,疯狂,愤怒,贪念这一系列隐藏在人类潜意识深处的要素。它们只有在极端环境下才能被暴露。”

善于言辞和幽默的潘海天现在决定改变自己的观念,部分归结于他在《九州幻想》的工作。

“现在回头看看这个定义,我太能赞同它。我常会被和我在线争论这个定义的读者搞的很焦虑,这也是为什么我要去做一个科幻杂志的编辑,因为我说它是科幻它就是。”

是否应该为幻想文学设立专架,或者说这个这个文学类型有没有足够读者去自给自足,这个问题在欧洲作家和书店之间久争不衰。然而,在中国,这个不是问题。

“中国人其实拥有想象的传统,在过去他们曾经创作了大量精彩的幻想故事,比如《山海经》,《西游记》,《草堂笔记》,《 Strange Tales from a Scholar’s Studio(我不知道是什么)》,《建国大业》等等。”“只要中国作家开始拓展自己的事业,我相信中国科幻将成为这个年代中最有可塑性的文学类型,没有之一。”

“如今已经有了一个十分清晰的概念了,魔幻文学要多得多,魔幻作者的数量也几倍于科幻作家,也拥有更大的读者群。再一次,这也只是因为魔幻在中国更贴近传统。”韩松说,“但是科幻和魔幻都提供了一个从不同方向审视社会的新视角。”

黑暗扫描者(Dark scanners)

反乌托邦的故事已经是科幻的一个传统。在当前经济萧条的背景下,全球出版商都囤积了大量描述世界末日,反乌托邦,和未来世界崩坏的手稿。

我们曾经想,从当地书店找到一些类似的书应该很不错。但是韩松叹道我们不可能找到一丁点只言片语。

“在中国的科幻作家很少,而且理所当然的他们不都是很优秀。一个重要的原因就是,在中国的作家都被作协领导,”潘海天悻悻地说,“他们把文学类型分成几个子类。”

“我们属于儿童文学。”他补充道。

和很多其他作者一样,在出版之前,韩松的书稿常常要在各个出版商之间推送很多年,他们都不愿处理这样一个沉重的主题,或者是为“敏感素材”担心。潘海天的情况也是一样。

“通常来说,一部小说要哪位编辑审查,哪位编辑就要为这部小说负责,”他说,“关键在于相关的法规总是模棱两可难以摸定。”

据韩松所说,出版商这种“但求无过”的态度,归结于涉及到遥远未来的臆测小说。设想一个不是那么光明的未来的这种行为会吸引到努力让世界更买好的民众的大量目光。

“在中国写一部科幻下会所很容易。你甚至不需要想象,你只要记录下每天在社会上发生的事情,集合起来就成为了一部科幻小说。有时候你写信为就好象写小说一样。”韩松说。

韩松曾经写过一个短片,《我的祖国不做梦》,在这部小说中,中国的发展已经缓慢,人们赞同偷偷注射能够让自己通宵工作的药物来维持GDP的增长。

听起来有点像Orwellian(《1984》作者,译者注),不过韩松认为有所不同。

“Orwellian 是对社会不满和苛求。不同之处在于,我们爱中国,我们不想让中国堕入魂阑,但是我们很担心她的未来,”他说,“有一天中国的发展会停滞,我们就得日以继夜的工作,没有压迫,他们自己如此选择。如果他们休息,那么国家就将崩溃。”

《我的祖国不做梦》从未纸质发表,却在网络上传播。在读者可以一睹为快的同时,作者却无法得到可以让写作作为他们职业的收益。有可以做到的办法只是需要代价,韩松说。

“比如说,你用乐观的思路写作科幻。作家去描述一个十分光明的未来,灿烂而稳定,类似的东西,”他说,“如果每个人都这么写,我们就要做很多愚蠢的工作,不过他们可能能挣到钱。”

书本奥德赛(Book odyssey)

现在对中国科幻来说还太早,同时两位作家都表示自己对用英文写作并不反感,对于那些幸运的,能够欣赏到完整的想象实力的少数精于语言能力的读者来说,这是个振奋(left)的消息。

“我想情况在变化。我不知道美国和英国如何,但是我认为相对中国好多了。至少我能列举出一些欧美作家的名字,你们那有多少人知道我呢?”潘海天说。

如果你想要更深入的了解,你可以在明晚的“书虫国际文化节”(Bookworm International Literary Festival)遇到他们。

 

(看到英文版,想下干脆翻译下来好了,第一次翻译,很多不懂啊我又不考GRE。附上原文:http://msn.huanqiu.com/chinalife/community/2011-03/1565756.html)

 

2011年1月17日 catbaron No comments

渡边,青豆,和卡夫卡

这一段时间,一直想写一点关于村上春树的一点感受,现在终于有时间了。刚洗了澡,宿舍还真冷。

接触村上春树,算是从10年刚开始。当然,在早一点,高中的时候算是久仰过大名,但也只限于听说过那部《挪威的森林》。

真正用拜读的态度去读村长,应该就是从《挪》开始。我一直以为在此之前并未接触过村长的文章,然而某天翻开一本村长短篇小说集的目录时,一篇《电视人》赫然跃入眼底。

这真是一种戏剧性的邂逅,原来很久之前,我和村长的第一次相遇,竟然是在《sfw》上的一篇短篇科幻小说,正是《电视人》。

那时lz年幼,对这篇文章作者并未在意,但是当时这篇文章怪异的行文方式让我印象深刻,也因此,《电视人》这个标题深深刻入脑海,以至于在反倒文集目录的时候,才恍然大悟。村长兄,原来你就是当年路过窗前的那个怪异少年啊。

为什么忽然想读《挪》,原因已经记不清楚了。然而事实是,这是我难得的正确决定之一。

lz对《挪》十分喜欢,无论是故事本身,还是讲故事的方式,都十分精彩。我习惯在手机上面读书,可以利用等人,等车,等饭,等眠的闲散时间随时阅读。但是在看过《挪》之后,决定一定要买下一本,摆在书架上面。过几天回家之后,打算再重新读一遍。

当时去书店买《挪》的时候,已经有《1q84》的book1出售了。当然,1q84 book1到book3 我也是在手机上完成的。

后来,又一次在坛子里面某个帖子里面提到了《1q84》,说有些科幻(那时候还没注意到《电视人》出自村长手下),有同学说,村长很多东西都有些科幻的味道,比如《海边的卡夫卡》。当时我手机里面已经有了村长书记的一些收集,但是也许是受到这句话的影响,我决定接下来要读《海边的卡夫卡》。

读完之后,对村长的感受逐渐清晰,遂著此帖。

好了,直接进入主题。

先抛开《挪》不说,《海边的卡夫卡》与《1q84》之间有很多类似的设定。一个孤独的人的冒险(离家出走的少年和青豆),主角的特殊身份(最顽强的十五岁少年和女杀手),主人公背后的智力支持(大岛和老妇人、肯德基大叔),魔幻色彩的世界构造(“入口”和小小人),双线索(卡夫卡+中田,青豆+天吾【+牛河】),命运主题等等。

这在某些程度上,也许体现了村长的故事构成方式。当然只是某种程度上,因为在《挪》和村长的出山作品《且听风吟》中,都是更加现实的叙事风格。

从故事上来说,《1q84》明显是一个大坑,在读完book3之后,一般都会有一种被骗的感觉。

我了个去,坑爹呢这是,小小人到底是个啥啊,NHK收费员到底是个谁啊,猫的小镇到底是个啥啊,难道一句“王子和公主从此幸福的生活在一起”就像混过去么?玩儿蛋去吧村长!!!!!

没错,太多事情没有交代清楚了,就好象一部悬疑小说,最后却没有给出最后凶手一样。这种感觉,并不比在看《少年金田一》的第一页就看到以前的读者用黑色碳素笔圈一人还写出“这就是凶手”的感觉好到哪去。

其实《卡夫卡》这部小说,也有很多事情没有写明白(虽然要比《1q84》好很多)。度过《卡夫卡》之后我开始思索,村长到底是想写什么呢?如果《1q84》的大坑不是第一次这么做,那么就不是自己挖坑填不上,或者是自己尝试新风格的问题。

在《卡夫卡》这部小说中,经常提到一个词“暗喻”。尤其让我印象深刻的是,大岛解释迷宫的时候,说迷宫的由来是远古时候人把肠子取出来,根据肠子的纹理进行占卜。所以肠子即迷宫原型。人的内部是迷宫,这是暗喻。这种暗喻在文中彼彼皆是。这是由作者在文中借大岛和卡夫卡的讨论说出来的暗喻,那么作者没说出来的,真的暗的暗喻又有多少?

《1q84》中这种暗喻有多少?

在《挪》的《序》中,介绍村长时有提到,村长丰富的想象力造成很多精妙的比喻。这点在他的文中确实很明显,但是从这种略带魔幻色彩的超现实主义小说中,恐怕暗喻要比明喻更多,甚至多出一个数量级也不一定。

《1q84》也好,《海边的卡夫卡》也好,其实不是柯南道尔或者希区柯克或者刘慈欣的作品那种,好像齿轮一样紧紧咬合,严丝合缝。相反,故事只是一个暗喻的载体。我也说不清楚,这算不算是一种故弄玄虚,但不得不承认,村长把这种暗喻摆弄的很漂亮。

怎么说呢,也许在你看完这两部小说之后会觉得意犹未尽,(或者说根本就应该有一个book4来打补丁才对吧)但是就像是玩试玩版的游戏一样,尽管没有100%完成度的快感,但是一部优秀的游戏,能让你在试玩过程就有良好的体验。

就是这样,让你最后一直想拨开迷雾,将书中的世界尽收眼底,这在某方面说明,这个书中描写的世界将你牢牢吸引了。

也许,村长自己也不知道这个世界到底是怎样的。

我在《三体》那个帖子里面提到过,《三体》中曾经描写了一种“以构造人物为中心”的创作方式。如果用这种方式类比,我觉得村长的这两部作品,是以“构造世界为中心”。用某种方式给出初始参数,好像推到多米诺骨牌的第一张牌,然后会怎么样,作者自己也没有力量决定了。之后村长要做的,无非是把这个初始参数创造的矛盾,神秘的世界用文字记录,描述出来而已。类似一种文学上的思想实验。

从描述方式上来说,无论是第三人称,还是第一人称,村长讲故事的节奏都很平淡,平淡到有些像说明文一样。他不想《三体》那种,在最后跌入二维的时候明显就是一轮高潮,之后的故事明显就是缓缓滑落。如同晴天->多云->骤雨->收云这种过程。村长从头到尾就是,雾->雾->雾->雾->…,无论村迷雾中跳出多让人吓一跳的东西,说书人都波澜不惊。

但是,讲出来的故事,却异常引人入胜。

一个原因,我想大概是由于村长对书中的世界描述的异常清晰,让读者亲临其境。

书店,酒吧,健身中心,公车,图书馆,旅馆…………即使讲述的是最不可思议的奇迹,就算是小小人创造的神迹,发生地点也都是这种普通的不能再普通的地点。在神迹发生的时候,也没有什么引人注目的光影镜头出现,都是极其朴素的现象“物体飘逸”,“雷电”,“石头的重量变化”等等。这大概也是一种暗喻,村长没有把那种怪异的现象写的更加怪异,而是用暗喻的手段,用现实暗喻超现实。就像通向异世界的森林小路,或者两个月亮。

村长造了一个世界,但只给读者看了从我们角度可以看到的东西,由于透视原理和一些角度问题而看不到的东西,他并没有可以拿出来给我们看,而是用暗喻这面镜子反射出来。

我在读《1q84》的时候真的怀疑,村长是写的小说么?会不会《1q84》便是《空气蛹》呢?会不会村长便是深绘里呢?

前几天在推特上看到一个人在读《1q84》,他写道“天上好像真的有两个月亮”。

让人沉浸在书中无法自拔,这种力量是一种强大到可怕的实力。

以前坛子里有人说,你们喜欢《挪》是真的喜欢还是人云亦云?《挪》里面不过是一种颓废的无病呻吟。(大意如此)我看到这条评论,也有反思。lz年轻的时候,非主流文章也看过不少,滥用悲伤基调,用悲剧去博取同情这种行为的确更容易俘获人心。但是《挪》不同。虽然确实充满颓废,消极的基调,但是真正打动人的,不是靠这些东西,而是故事本身,和讲故事的方式。

作者写这部小说,是从短篇《萤》扩写出来。在《萤》中,只有“渡边”和“直子”两个角色,而且也直写道直子不辞而别。在《挪》中,又加入了很多其他角色,情节也更加丰满悠长。剧情并不复杂,没有刻意的制造矛盾(类似琼瑶或者韩剧的姐弟恋,贫富恋,家族乱这种狗血剧情丝毫没有)。及时主人公同时爱恋两个少女,除了自己内心的迷茫之外,并没有人物关系的纠结。

从头读过,读者所经历的,便是渡边所经历的。从消极生活,到遇到直子,到对绿子不知所措,到时去直子是的悲痛心境。这种经历,不是一句“颓废基调”可以概括的。尤其是读到渡边因为直子的去世,悲痛的不能自已,独自一人毫无目的的沿着海岸流浪那里。遇到一个好心人给他食物,以为他的母亲去世而安慰他。渡边因为不想解释什么,只能听他讲述他自己母亲去世时的感受。“你知道我失去什么了么?直子去世了,再也会不来了,你却在这里说什么你母亲!”

这种感情的宣泄不是随随便便就可以完成的,这是建立在前面完成的铺垫上。

村长的故事,大概都是这样,在爆发点,不用可以描写气氛,是一种水到渠成,所以即使是描写最震慑人心的情节,也只需要最朴素沉静的语言。

我了个去,这中水平,我感觉到了诺贝尔的水准……

此外,村长的作品中对音乐的描写算是一种特色。从名字来说《挪》和《海边的卡夫卡》都是音乐的名字。《1q84》开场就是青豆和出租车司机对交响乐的讨论。

在他的作品中,常常会出现对摇滚乐和古典交响乐的讨论。对于我,其实很多是无法理解的,因为本身对他所讨论的音乐没有欣赏能力,所以往往不能体会他所说的感受。然而,在村长的作品中,音乐总是用一种魔力的载体。

它是皮诺曹的蓝色仙女,是星矢的雅典娜,是大力水手的菠菜,是我镜子里的背影。

在《海边的卡夫卡》中,星野偶然经过一家咖啡屋,听到了贝多芬的交响乐,从此改变了一生。卡夫卡在和大岛对音乐的讨论中,也渐渐体会到了生命,时间或者是人生的意义。在接近结局的时候,卡夫卡不知要怎么做。佐伯说:“看画,听音乐。”

在《挪》中,玲子和渡边为直子独自举行直子的葬礼,便是用吉他自弹自唱,将自己能弹出的曲子全部弹出来。真是罗曼提克。

除了音乐,村长也常常在文中加入一些对文学作品的讨论。

在《挪》中,渡边第一次遇到永泽,也是因为相同的文学喜好。

而《1q84》中的天吾,本身就是一个作家,所以自然少不了对创作的描写。

至于《海边的卡夫卡》,因为卡夫卡和大岛生活在图书馆中,大岛对卡夫卡的指导往往会旁征博引。

在这些对文学的探讨中,我有时会遇到自己熟悉的讨论主题,但是很多时候都超出了自己的阅读范围。也就是说,比那些对音乐的探讨理解稍好一点。

在这些对文学和音乐的大量引用和讨论中,几乎很少会感到村长的掉书袋,或者不和谐感。原因大概是这些讨论放置的位置恰到好处,在对的地方,对的时机,对的人,讨论一件对的事情。

在《海边的卡夫卡》和《1q84》中,都提到了切克夫斯基对戏剧的论点:“如果舞台上有一把枪,就一定要发射。”看来村长是很赞同这个论点的。在某种程度上,村长也是切身履行了这个论点。也就是前面提到的,后面的情节发展总是建立在前面的情节铺垫上的。情节几乎没有缀余。

这也让我偏向相信,村长的某些看似无用的情节,应该是一种暗喻。

这次回家,决定把《挪》和《海边的卡夫卡》再读一遍。

另外,有一个1q84.fm音乐电台网站,刚刚面世的。可以去看看。

 

2010年7月15日 catbaron No comments

eclipse的配置问题,漫长的环境配置之路

因为要和老师做jsp的开发,所以这两天就做了一些功课。win7下面的环境倒是还算顺利,一路配置下来,无非就是sdk,mysql,eclipse,tomcat。这些网上的教程都是大堆大堆的,这里就不罗嗦了。
但是,最近一直尝试过渡到linux下面,所以就在ubuntu找了以下相关软件。

需要的软件,navicat,eclipse,mysql等等都有linux版。(navicat的linux版是免费的,win下面是收费的还要破解……)不过中间出了一些问题。这里贴出来,希望那些通过谷歌找到这篇文章的同学能有所帮助。

先说一下,我主要想说的是eclipse中出现java.sql无法引用的问题。
关于这个问题,网上的说法很多都是说环境变量CLASSPATH配置的问题。从原理上来说,确实是有这个可能,但是我的不是这个问题。如果又遇到相同问题的同学,而且通过修改classpath没有解决,可以直接跳过一,从二开始。

一.sdk的配置

因为要用到java和jsp,所以首先要装sdk。sdk去sdk的官方网站就可以下载。
网上又终端的安装方法:
sudo apt-get install sun-java6-sdk
但是我使用的结果是失败。应该是源的问题。

sdk的安装不是我们讨论的重点。我这里重点说一下环境变量的配置。

网上所说的方法有很多,关于配置环境变量,我总结了以下,大概是修改这三个文件都可以成功(修改改一个就可以了)。分别是
~/.bashrc
/etc/profile
/etc/environment

修改的内容,主要是配置PATH,CLASSPATH ,JAVA_HOME这三个变量。设定JAVA_HOME 主要是为了修改方便。真正要用到的应该只有PATH,和CALSSPATH。但是后两个要用到JAVA_HOME。

PATH:这个类似于windows里面的windows/system32之类的路径。就是,当你在终端中输入一个命令,系统会去PATH中的路径找这个命令。linux的PATH本来应该包括/bin,/sbin之类的路径。而当你安装完sdk之后,在编译java文件的时候要用到javac这种java命令。所以我们要告诉系统去哪里找这些命令。
我们假设你的sdk装在~/sdk1.6这里。那么我们的javac命令应该在sdk1.6/bin目录里面。所以我们要把它添加到PATH里面。
在上面提到的三个文件里面最后面添加上
PATH=“………………:/home/sdk1.6/bin”
前面的………………是系统本来的PATH设置,只要在后面加上我们自己的就 可以了。
注意,在windows里面,系统环境变量的不同值之间用分号隔开,linux里面用冒号隔开。

CLASSPATH:这个路径中包含了你在java中生成的类和java自带的类。如果设置失败可能会导致一些类的方法无法调用。
一般我们要包括~/sdk1.6/lib/tools.jar,~/sdk1.6/jre/lib/dt.jar等文件。这些文件里面包含了我们常用的一些类,比如java.sql.等。所以我们要在环境文件中添加

CLASSPATH=.:~/sdk1.6/lib/tools.jar:~/sdk1.6/jre/lib/dt.jar:$CLASSPATH

上面这句话里面要注意
1.等号后面有一个“.”,作为第一个变量值,表示当前目录。后面分别是刚才提到的两个文件。
2.最后面的$CLASSPATH是因为,防止已经有了这个CLASSPATH,如果我们不佳最后的$CLASSPATH,以前的变量会被这次的内容覆盖。加上最后这个符号,则表示添加内容。

最后说一下JAVA_HOME。这个其实有点像是宏定义。因为我们可以看到,刚才配置的两更变量,中间路径用到了很多相同的路径~/sdk1.6/。所以我们就把它定义成JAVA_HOME,使用起来比较方便。这样再顶一以上的变量的时候,就可以通过%JAVA_HOME%来引用~/sdk1.6/了。而且一旦以后要修改环境变量,我们直接修改JAVA_HOME就行了。

JAVA_HOME=~/sdk1.6/

二.eclipse的错误
eclipse安装过程我就不罗嗦了。就是解压,改权限而已。

我吧一个工程考过来,然后设置eclipse的服务器tomcat。配完之后,选中index.jsp文件,选择run as…–>run on server。在语句“import=java.sql.”提示错误

The import java.sql cannot be resolved

说明这个包引入失败

csdn里面有人遇到类似的问题,说是sdk没配置好导致的。于是我才看了大量的sdk的配置的东西……
然后查了资料,发现java.sql是在rt.jar里面。所以更加坚信了,是CLASSPATH的配置有了问题。

结果,我就离真相越来越远。

真相在这里:

http://blog.csdn.net/JeamKing/archive/2010/04/30/5544896.aspx

其实很简单,只是当时我找错了方向而已。不过作为补偿,倒是了解了不少sdk和jdbc的原理。

关于jdbc,mysql驱动,我会再写总结的。

第三.eclipse中的中文乱码。

关于这个乱码,其实大多数是在windows下面是好的,到了ubuntu就成乱码了。这是因为,ubuntu默认的中文编码是utf8,而非gbk或者gb18030。所以我们要手动位ubuntu添加gbk编码
方法如下:编辑/var/lib/locales/supported.d/local文件,在后面添加
zh_CN.GBK GBK
zh_CN.GB18030 GB18030

然后终端运行
sudo locale-gen
之后,ubuntu环境就可以支持gbk编码了

我们转到eclipse下面,对文件或者堆工程进行操作

选中文件活工程,右击,选择properties(首选项)->resource(资源)->text file encoding,编码选项里面没有gbk和gb18030,需要自己填写。填上需要的编码,apply应用之后,应该乱码就正常了。

好了,电脑也快没电了

总之,从昨天开始,面对这些错误,不停地谷歌谷歌谷歌,却一直得不到解决,确实很打击我。但是最终还是找到了解决方法。

我有自己的野心,必须面对自己。

希望志同道合的同学,一起进步吧。
以上。

 

2010年7月15日 catbaron No comments

仲夏晨之梦

当我们的作品可以勉强跑起来,足够我们通过课程设计的答辩的时候,自习室的窗台已经有晨曦爬了进来。尽管在夏天,天亮的比较早,但我们还真是和代码斗争了一整晚。电脑桌面上的时钟忠实地告诉我,还有一个小时就到了早饭时间了。

你知道,我这里是指的正常的早饭时间,也就是七点到七点半的时间。

我和猫说,难得有机会早起,我们去吃早饭吧。猫说,太早了吧。我说那我们就出去走走吧。

凌晨的那场世界杯比赛已经踢完了,狂热的球迷也都已经在舍友的呓语中翻身爬到自己的床铺。走廊里和谐静谧,只有自己的脚步声。整个世界一下安静的让人觉得陌生。在这个吵吵闹闹喋喋不休的城市,就算是大学里面也每天充斥这各种罗哩罗嗦的事情。这种麻烦事情向海草一样束缚住理想的手脚。你想摆脱它,但很多时候却不得不以它为食。最大的悲剧莫过于,被包养的同时还想独立。

大学生就是这样一个茶几。

我们走出公寓的时候,天已经大亮。早晨的气温正合适,阳光明媚而不狂暴,目所能及处,色彩都很明丽。路旁的商店还没开。路上行人也很少,都是早起晨练的大叔阿姨。环境和谐到如梦似幻的地步。除了一晚上的脑力劳动导致肚子极饿之外,唯一让我不爽的也就是,如此良辰美景,和我一起出来的确是一哥们。不管怎么说,能看到六点之前的景色的机会我实在没多少。这样浪费在一个男的身上还真是。

罪孽深重。

我们从五公寓门前绕过图书馆那段阳光大道,折入校医院附近的绿茵路。路过好像倒闭一样的留学生餐厅,一路走向正门。从树间渗过的光线,在微薄的晨雾中显出笔直的光路,照在我们身上,好像真的朝气蓬勃的样子。

本来的打算是,到门口找家饭馆吃个正常点的早点。这也是我很久没有体验的人生体验之一。然而,机会并不是你想有就有的。果然,难得这么早的时间是清醒的,却又太早了。

在国内果然要中庸,太早太晚,你都是没饭吃的那个。

不过,虽然只有一位卖煎饼的大婶,学校门前的小吃棚总算已经有人了。

这个棚子虽然简陋的很,卫生很随意,却是著名的聚餐地。众多厨师各自分的一席之地,各自在自己的一席之地卖各自的炒饭煎饼,凉面米线。虽然种类繁多,但我觉得这里的食物并不算物美价廉。然而每天,这里的残旧的铁餐桌酌上面还是摆满了各类风味小吃,餐桌之间流动着各类定餐的同学。这也是很符合逻辑的。就算是珍馐锦食,日复一日总会让人厌烦的。更何况在餐厅,每天要面对同样的餐具和不同的参杂物。

往日我只见过中午和晚上的棚子,所以觉得今天的棚子格外冷清。不过这位大婶我倒是很熟的。因为我在棚子里面吃到的第一个产品就是大婶的煎饼。虽然没有什么处女情结,但是第一次总是给人深刻的印象。而且总体来说,大婶总是和蔼可亲,和客户们的关系处的很好。棚子里的人大都是这样,对学生称兄道弟亲切的紧。这种轻松的气氛,完全可以弥补事物本身的质量。

煎饼大婶看我们走过去,便问,来两个煎饼?我们答,好。她有问,吃辣椒么?我说不要。猫说,那把他的辣椒都给我。她笑了笑说,好,稍等一会哈,炉子马上就热,阿姨马上给你们做。

看来炉子热得不会很马上,如果“马上”指的是五分钟之内的话。

大婶一边调整炉子一边跟我们说,今天是最后一次吃阿姨的煎饼了,不让俺们干了,让俺们停工一个月。

我心想,从她后面那句话来说,“最后一次”应该是这个月最后一次的意思。考虑到一个月内我们就要放假,最多也就是本学期最后一次。但是后面那个“不让”,我不知道是什么意思。

我看了看猫,他表示不明真相。然后他问,为什么。

大婶,说,W市要参选文明城市,让俺们停工一个月。

我的感觉是,大婶很需要向人倾诉。果然,大婶叹了口气,接着说道,W市每年都是这样,去年就让我们停工一个星期,今年让停工一个月,这让俺们怎么过。你要是能评上也行,评了好几年也评不上,今年急眼了。这跟俺们也没关系啊,俺们不干就能评上了?就会欺负俺们老百姓…………

大婶虽然一直在倾诉,语气却很低缓,好像梦语,让人多生无奈。

听了半天,我第一反应是,大婶的言论不和谐,仅代表她个人观点。我们只是路过恰好旁听,并非有意传播,而且我们并没有表示支持她的观点,希望不要被跨省。

第二反应是,W真悲剧,评了这么久都没评上,但这应该是公关的问题,而非煎饼的问题。

第三,“不让干了”是不让“棚子”干了。而棚子里,大婶这家和很多在这里卖餐的人,都是夫妻搭配。也就是说,一下子全家都失业了。

作为最底层的草根,失业一个月,对W经济快速发展的影响甚微,可以忽略。只是这一个月,草根过的一定会很辛苦。

身体和心理都会很辛苦。

我和猫都不是善于言谈的人,对于大婶的这些话,我们不知道该怎么应答。看起来好像很冷漠,其实只是沉默。

对于这种事情,我们每天在网上可以看到很多。后来我们看不到了,但是学会了翻墙。翻过墙才发现,原来翻墙是为了看墙里面的世界。而且原来这种事情在这个世界越来越多了。

我们一直抱着围观的态度,却从来没有做好在现实中围观的心理准备。我找了半天,也没有在棚子周围发现添加评论的地方。所以,我能做的就只剩下沉默了。

我想,猫大概也差不多吧。

我们在那里站着,棚子周围,我们周围,来来往往的人多了起来。好像我们静止在人流中,定格在一个莫名其妙的mv画面中。

我只是想说,沉默让气氛有些尴尬。

大婶倒也不为难我们,岔开话题,问我们是从网吧来还是从学校来。猫说从学校来。大婶说那你们起的还真早。我说不是起的早,是一夜没睡。做了一晚的作业。

大婶说,那你们也真辛苦。

煎饼做好了,我们付了正好的钱,拿了煎饼。

大婶说慢走哈。

我记得,以前大婶都是说“下次来哈”的。

在慢走的路上,我问猫,怎么你不救济一下大婶么?

猫咬了一口煎饼说,你是在同情人家么?他们靠自己的劳动生活,这种尊严你有资格同情么?要救济就多给点钱,五毛五毛的救济,有猫咪意思。

我认为他说的不错,于是说,嗯,我觉得,今天的煎饼不太好吃。

走进学校,旭日已然高升,路的两旁花红柳绿。广场上晨练的音乐已经向起来。一瞬间,又是满目的阳光明媚,草长莺飞。头顶的天空湛蓝剔透,让我觉得,刚才好像做了一个很远的梦。好像是个噩梦。

那就忘了吧。

 

2010年6月25日 catbaron No comments

吵吵闹闹

生活周围一直有一堆人吵吵闹闹

这让我很不爽

 

不知道从什么时候开始,不喜欢和别人相处了

米特尼克说过,人,是信息安全中最薄弱的一环

所以,我觉得, 人,是很不安全的东西

 

身边的一些人,真是啰嗦啊,而且装b装的厉害。好像天上地下无所不通的样子。

 

还有,世界杯以来,个寝室里面嘈杂的调侃

拖鞋在走廊里的摩擦声

qq刺耳的提示声

短信提示声

电话铃声

敲门声

水声

 

整个生活都很啰嗦,罗嗦罗嗦罗嗦……

 

还有,我宿舍里的韩国人。每天会生产各种噪声。对于韩国,,我不想多说什么,69什么的,圣战什么的,棒子什么的,跟我都没关系,在我看来,单纯的仇视,毫无理由的仇视,甚至自己制造出理由仇视,都不是什么聪明的做法。尽管如此,我还是无法忍受韩国人的生活习惯。每天在我学习和睡觉的时候,身后的各种噼里啪啦的声响真是很麻烦呐。

 

今天写了一点Java,对语法有了基本的了解。果然,Java和c的区别很大。但是,还是喜欢c的简洁。同学跟我争论说,就应该丰富才对,就像瑞士军刀一样。我说,现在瑞士军刀还是拿来用的东西么,大家都用来收藏了。

 

收到消息说,本市将引入监管手段,全市网吧午夜0点断网,并对全市网吧进行监控。

而,疼训受到了中宣部的表扬,因为它致力于网络文化的和谐建设。

我想起了wow吧的一句签名:每当我对你打呵呵的时候,其实我心里说的是qnmlgb的。

 

我真想说,呵呵。

 

 

下午,打了一会篮球。身体果然还是不够强壮。

 

现在巴西正在和葡萄牙火拼,两边都很积极。

世界杯开打很久了。该回家的,不该回家的都回家了。

 

不过,还好阿根廷还在。

 

 

2010年6月24日 catbaron No comments

晚上出去吃饭了。

大鸟说,好虚啊,出去吃东西补补吧。于是就去了。

 

天气还不错,出来吃饭的人很多。路两旁的小摊都支了起来。在外面点上一些烧烤,要上几瓶啤酒,是享受黄昏的好方式。

 

和小林三个人一路走到火万里,点了肉串和拉皮。然后就是闲扯。和小林无非是扯手机,iPhone,Android,计算机,网络什么的。或者预测各大巨头的发展趋势之类。

 

最近要做Java和jsp的东西,同时还要用c#做课设,所以看了一点相关的东西。发现原来自己之前对面向对象的理解很片面。c++还真是一个扭曲的东西,难怪自己一直对他没好感。

 

关于大学,也上了两年了。中国大学的现状,也有一点了解。得出的结论无非是,作为一个行政机构,想建立世界一流水平的大学,无异于痴人说梦。

 

根本没有希望。

 

于是关于出国,之前的愿望又忽然变得愈加强烈起来。对于一个没有故乡情结的家伙来说,能够到处走走,真是不错的未来。一个人去客地他乡,踏踏实实的过自己的生活,写自己的程序,做自己的项目,玩自己的玩具。

 

真是莫大的诱惑。

 

英国,日本,真向往啊。

 

暑假要去社会实践,北京,还是深圳?

 

从北京回家真方便。不过深圳作为大陆最南,还真想去看看。纠结……

 

不过现在更倾向于去深圳……

 

一会出去搞一枚硬币解决吧。

 

以上。