我的精神家园 2017-05-12T11:37:45+00:00 luckyweijie@gmail.com zookeeper使用笔记 2016-01-03T00:00:00+00:00 ShengOfSun http://www.shengofsun.com/zookeeper 最近在公司的分布式项目pegasus中用到了zookeeper的c客户端,在此记录下使用zookeeper c client时的一些心得。

zookeeper c api的介绍和部分坑

这里先推荐两处别人写的blog,分别介绍了c api接口的使用方法, 和一些要注意的坑.后面的内容主要依据自己在使用zk时的心得体会,对这两篇blog中的内容做补充.

zookeeper client的会话状态

使用zookeeper的c client端访问服务的初始化逻辑如下图所示:

//初始化会话
zhandle_t* handle = zookeeper_init(hosts, watcher_callback ... ); 
...
// 等待zookeeper client会话的状态转换为connected
... 
// 其他的zookeeper read/write操作
zookeeper_close(handle);

总的来说,zk C client的api是非常简洁的:首先创建一个会话用以和服务器列表进行通信;然后便开始调用zk的读写api。但就细节上而言,有一点是非常值得注意的:客户端会话是有“连接状态”这一概念的,只有状态是“connected”的会话,才能和服务器进行正常的通信。

会话的状态是zk客户端中一个比较容易混淆的概念。下图给出了client会话一个简要的状态转移图(基于3.4.6的c client代码,没有考虑zk ACL层):

上图中几个状态的说明如下:

  • not_connected 最开始,未和服务器进行通讯的时候
  • connecting 客户端正在开始和zookeeper集群服务中的某一台服务器进行连接
  • associating 客户端已经和某个服务器建立tcp连接,在等待服务器根据客户端上传的会话信息进行”匹配”
  • connected 客户端已和服务器联系上,此时可以和服务器发送读写请求
  • expired 会话已经超时不可用,客户端此时应关闭本会话,自杀或者重新发起连接

客户端在创建handle后,等待会话状态变为connected的方法一般有以下两种:

  1. 在调用zookeeper_init生成handle后,开始不断用zoo_state的api轮询handle的状态,并根据返回的状态值做对应的动作。
  2. 在调用zookeeper_init时,用户需要注册一个回调函数。在会话状态的每一次改变时,回调函数就会被调用一次。所以客户端的使用者可以根据 回调函数所传入的不同状态执行不同的动作。

在zk会话的整个生命周期中,其状态可能在connected和connecting之间做多次切换。使用客户端库的业务代码需要注意这两种情况,并避免在connecting 的时候对zookeeper进行读写。

会话状态转换的进一步说明

造成client session状态转换的原因主要有两种:

  • zk服务器集中一台或多台机器的crash
  • client和server的网络分区

在发生以上情况时,client会和server失去连接。在这种情况下,clientlib会关掉和当前服务器的socket句柄,开始对集合中的服务器进行轮询。在重新连上某一台服务器 后,clientlib会把本地保存的会话签名(也就是c client库中的clientid_t结构体)发送给服务器;根据该签名,服务器可以判断该会话是否已经超时。客户端再根据服务器返回的结果, 在回调函数中返回重新连接上,或者是session expired。

由此可知zk一个非常重要的特性:客户端会话是否超时是由服务器决定的。考虑到zookeeper是由多个机器组成的一个集群服务,这样的语义其实 是非常合理的:只有把会话生命周期的决定权交给服务器,才能比较好的实现服务在不同机器间的“平滑切换”。

其实对于zk状态转换和会话超时做何种处理,是完全取决于使用zk的业务场景的。如果仅仅把zk当做一个保存元数据的服务,那么只要在connected的时候做读写即可。 而对于zk最常见的分布式任务的“仲裁者”的功能,在处理客户端会话的状态上就要小心很多。

比如很常见的分布式抢锁的场景(比如:主从分布式系统中的Master):

有一个任务T需要进行持续处理。因为任务比较重要,我们给任务派了A,B,C三个候选机器;这样,

(a)一旦有一个机器发生宕机,就会有另一个候选者接棒。

同时,因为任务涉及全局状态的改变。为了保证状态的一致,我们必须保证

(b)在任意时刻只能有至多一个的候选机器在处理任务T。

对于这种场景,zk有几乎“模板化”的解决方案,所以就不再搬运了:-)。这里只是想强调一下客户端会话的状态在分布式抢锁中的作用。 为此,我们先大体复现下A,B,C利用zk抢锁完成任务T的一个流程:

  1. A、B、C都和zk集群Q创建会话。
  2. 通过zk的仲裁,A抢得处理任务T的资格。
  3. zk在断定A会话超时后,会用某种形式让B和C得到通知;并在B和C之间重新做仲裁。

为了满足前面的(b),我们在流程3中需要处理一点细节:在zk断定A超时之前,A自己必须停止对任务T的处理。这种要求使得A绝对不能在收到zk服务端的session_expired 消息后才停止自己的工作。而是应该在之前的某个时间点时就把自己停下来。

而这个时间点,其实就应该是状态由connected变为connecting的时刻。

会话状态怎样会变为connecting

就实现细节而言,有两种事件会导致zk会话变为connecting

  1. client和某个server间的tcp socket不可用(poll失败,或者send/recv失败)
  2. client端租约超时

其中client端的租约用的是最常见的租约技术:

  1. client定期给zk server定期发送一个ping的消息,记周期为T1。
  2. 如果client有一段时间没收到zk server端的数据,则视为client的租约超期;记超期的时长T2。

在具体的实现中,ping消息的发送并非单纯的以T1为周期的数据包,而是和zk数据请求混在一起的心跳机制。具体来说,如果距上次发送数据包 的时间已经过了T1,那么就会发送一个ping。在3.4.6的客户端中,T1的值为recv_timeout/3。

相应的,client租约也是随着不停的收到数据包而不停的延长。在3.4.6的c client代码中,T2的值为recv_timeout*2/3。

依据这些实现细节,我们可以看出对于前面讨论的“分布式抢锁”,作为zk client的A,在会话变为connecting后将自己的任务T停下来是合理的。 一方面而言,无论是socket不可用还是租约超时,client都有理由怀疑自身在zk server那边会有可能发生会话超时。另一方面而言,这种服务不可用 只是一种暂时性的不确定的“怀疑”。随着client对zk server列表中其他机器的连接成功,这种暂时性的不确定性就很快被打破,回到可用的状态或者 变成确定的“过期”状态。

有一点需要注意的是,如果client端无法连接到zk server列表中的任何一台机器,那么client端就会陷入到无限的等待中去。就正确性而言, 这并无影响。但事实上而言,这样的状态还是有一些不太好的:

  1. 因为客户端无法打破这种不确定性,所以它无法依靠zk的某个确定事件来执行自杀的逻辑。
  2. 在无限的循环等待时,client事实上在做不停的轮询,这带来的最直接的后果就是——费电。

所以在具体的使用上,client最好在收到connecting的事件后自己触发一个定时器,用以在合适的时候做自杀的工作。

另外,有一个很简单的实验可以证明客户端的session expire是取决于zk server的:

  1. 启动一个单机版的zk服务,并写一个简单的客户端连接上它。
  2. 手动停掉zk服务,这时候可以观察到客户端变为connecting
  3. 过很长的时间(至少超过和server协商的recv_timeout),再启动起来服务;可以看到客户端变为connected,而非expire。

原因也很简单,在关掉zk服务后,server的整个时间流其实是“停止”的。再重新启动起来后,server端其实只是过了很短的一个时间段,自然不会 把client判定为超时。

这其实是一个比较好的特性。可以试想,如果因为某种原因,zk集群发生了整体性的宕机(断电?),那么在集群重启之后,所有依赖zk的服务在 理论上是可以原样启动起来的。

zk api的返回值问题

不得不承认,程序员大部分的时间精力,其实都集中在了程序只有在很少情况下才会触发的一些异常逻辑上.所以在使用某个库的时候,我们自然而然就得多花精力 去关注api那些表征异常的返回值是什么含义.

zk api返回值,在异常情况下基本上可以分为三大类:

  1. 运行时环境错误,比如内存分配失败等等
  2. 输入参数不合法
  3. tcp连接异常而导致的错误

这里重点强调下3.具体来说,会话异常可能会导致zk api返回三种错误码:

  1. invalid_state: 当前session的状态不是connected,而调用zk的读写api
  2. connection_loss: 在进行异步的读写操作时,socket不可用
  3. operation_timeout: 在进行异步的读写操作时,client session发生租约超时

2和3所代表的错误含义,在前面分析connecting_state的时候已经给出了说明.这里更多的想说明以下返回这些错误的具体场景.为此,我们先看一下zk c client 的程序结构:

如上图所示,zk client内部共有两个线程:

  • io_thread, 主要负责socket的读写
  • completion_thread, 主要负责异步api返回状态的分发

另一方面,zk client内部一共维护了四个队列:

  • to_send: 裸的memory_buffer, client线程调用api的时候, 请求被序列化成memory buffer放到to_send尾部
  • sent_request: 和to_send中的memory_buffer一一对应,存放一个异步api的回调函数地址,上下文等
  • to_process: 裸的memory_buffer, 收到的服务端发来的消息时,io_thread将其按序入队
  • completions_to_process: 根据服务端发来的数据(数据请求响应,watcher), io_thread把本地保存的回调函数上下文等一系列东西和之对应后放入该队列;然后 等待competion_thread对该队列中的内容进行dispatch

在知道zk client的结构后,我们可以得出一些结论:

  • zk api的回调全部在completion thread的上下文中执行.所以如果有全局变量在多个回调函数中执行,不用担心竞争条件的发生.
  • 会话变为connecting的处理逻辑是这样的:
    • io thread把会话异常的消息放入到completions_to_process队列中
    • io_thread清空to_send和to_process
    • io_thread遍历sent_request队列,设置返回值为connection_loss(operation_timout),放入completions_to_process队列.所以,一旦会话变为connecting,已经加入发送队列中的消息旋即都会随后返回,而不做任何重发的cache.
  • 如果遇到了zk会话暂时不可用,合理的方法是等待状态变为了connected了之后再开始重试;无脑的重试只会导致cpu空转.

封装zk的细节是不是一个好的主意

在最开始对zookeeper的c api进行封装的时候, 想法是屏蔽掉zk会话状态和超时重传的细节, 直接提供一个简单的接口供上层使用.后来随着对zk了解的深入,才渐渐觉得这样的 封装其实不是非常合适.从会话状态的角度看, 其重要性已在前面解释过; 而对于超时重传, 是不是要把该功能封装起来其实也是值得商榷的.

这一点其实是取决于使用zk的逻辑是如何的. 如果zk client的使用者就是数据的产生者, 那么这样做其实并无不可. 而如果使用者也是一个二道贩子, 那么这么做就不是很合适了.

在pegasus项目中, 存到zk上的数据就是由二道贩子转手过的. 正常的流程是这样的:

  1. Server A(Partition Server)把数据发送给Server B(meta server), 如果数据满足一定的要求, 再由B把数据存到zk上;
  2. 存放成功后, B再给A发响应. 其中Server A和Server B的通信采用的是无连接的rpc通信, A在超时后会进行重传.

这时候,如果在Server B和zk之间实现一层cache(cache的状态对A是不可见的), 那么很显然的, 一旦B和zk之间出现了connecting state, B就会很有可能给zk发重复请求. 更进一步而言, 长的缓存队列, 对整个系统的实时性可能是会造成影响的( 请允许我拿这个极端的例子信口开河胡说八道:-) ).

此外,对需要重传的消息进行cache也得注意一些小问题,比如:

  • 如果对已经发送成功的消息进行重传,那么需要注意错误处理(重复create, 第二次会返回失败)
  • 对于基于状态的带有保序特性的连接,添加中间cache往往意味着会破坏保序性(第一条失败,第二条成功,第一条重传成功)

transaction不是万能的

较新版本的zk引入了transaction的接口, 可以批量的向zk服务器发送请求, 并保证操作的原子性. 对于这个特性, 有一点需要补充: 接口不能支持较大数据量的传送, 如果一次传输过多 会导致会话超时.

]]>
装逼利器emacs(1) 2014-05-10T00:00:00+00:00 ShengOfSun http://www.shengofsun.com/emacs 理性对待emacs

  今天来说说编程软件中的装逼神器emacs。

  如果编程软件界有敏感词的话,那么毫无疑问,emacs必定是其中之一。作为一个难以上手却配置灵活的软件,emacs历来是众多码农们宗教战争时的必争之地。尤其它的狂热信徒,把他捧到天上还不算,还总要把vs、eclipse等IDE给黑出翔来才肯善罢甘休。说来惭愧,当年我也是狂热分子中的一员:先是用emacs替换掉IDE,后又用emacs替换掉音乐播放器,后又用emacs替换掉图片查看软件;然后,便是和身边的人交流emacs的奇葩功能,和用vim的人打嘴仗……

  现在看来,这股脑残粉的劲儿就跟当年红卫兵一个德行。emacs固然是有不少优秀的功能,但是事事交给它真的是非常的不明智的。不过话又说回来了,谁没有年轻糊涂的时候呢?

  于是,我准备把这几年来使用emacs的心得整理一下。新手们可以拿来做个参考,老手们直接无视掉我就OK了。

上手

  相比较打开之后什么都不能输入的vim,emacs上手还是要容易些的。好歹你朝里面输入东西,不会叮叮叮发出一大堆警告的声音。但是因为和常用编辑软件的快捷键不同,它还是会吓跑一大帮子的人。这里我建议用鼠标点开help菜单栏,第一项”Emacs Tutorial”就是一个非常不错的入门教程。把这个教程跟着学下来,基本的文本编辑的快捷键还是能学个差不多的。

  我是一个很懒的人,到处都有的东西我不想重复。所以emacs常用快捷键,这里我就不写了。教程里有,谷歌上也是一搜一大把。

文本编辑

  从文本编辑的角度看,emacs是有它的优势的。因为它老本行就是做文本编辑,所以它有很多方便的功能。这里把我用过的几个列举一下:

列编辑

  顾名思义,列编辑就是对列的操作。比如说你在写python或者shell这种不支持多行注释的代码的时候,发现需要把好几行注释掉。那怎么办,总不能逐行加#吧。这个时候,emacs的列编辑就可以派上用场了。把要注释的那几列选中,然后用组合键“Ctrl-x r t”,输入#,就大公告成了。

  其实用列编辑这个说法是不准确的。emacs操作的是一个矩阵区域:左上角是所选区域的起始点,右下角和当前光标位置。

  如下图所示:绿色部分表示编辑器选中的部分。以include的n为左上角,main的n为右下角,构成的矩形框就是emacs矩阵操作的目标。

  对于这个矩形框,可以执行删除,插入,复制,剪切等操作。这里给出常用的组合键:

  • Ctrl-x r o,插入空白空格(即矩形中每个字符都换成空格)
  • Ctrl-x r d,删除矩形区域
  • Ctrl-x r t,用字符替换矩形区域

  更多详细列编辑的命令可以上网搜一下。这里就不说了。

递归编辑

  比如你写了一个函数

  void function1(int a, int b)

  很多地方调用了这个函数。后来发现有些地方需要替换成原型是这样子的函数

  void function2(int a)

  怎么办呢?直接把function1替换成function2是不行的。因为函数的原型已经不一样了。写脚本也不太容易,你得根据代码的上下文判断什么地方需要换掉。这个时候,就需要递归编辑了。

  首先,用Meta-%调用emacs的查询式替换(Query-Replace),每查询到一个地方,就可以用Ctrl-r进入递归编辑。这样,当前的查询就被挂起了。你可以像平常一样编辑文本。编辑好后,再用Ctrl-Meta-c退出编辑,就又回到了查询的状态。继续查询下一条。

  当然,这个功能可能还不够屌。但当你考虑到有多个文件需要把function1修改成function2的话,你就能发现emacs是多么逆天了。结合emacs的文件夹浏览功能,你可以在多个文件中执行询问式查询和递归编辑。是不是有种很酷的感觉?

正则表达式替换

  这个就不用解释了吧。把某个模式的字符串替换掉。

当IDE使用

  因为emacs扩展极为方便,所以人民群众给emacs写了各种各样的插件:自动补全,代码跳转,项目树浏览……把这些功能配备上,emacs几乎像模像样的拼的上半个IDE了。但我其实不是很建议用emacs来当IDE使用的。一个是插件多了,emacs速度就慢了;二个么,这些插件的功能真的其实也只是差强人意而已,和专门开发的IDE比起来还是有些差距的。有好用的IDE不用,偏用emacs,这几乎就是和自己过不去。

  当然还是不排除有些人硬要和自己过不去的,我还是把我使用经验分享一下吧。

C/C++

####自动补全   自动补全可以使用一个叫做auto-completion的插件,词法分析做的不错,速度也快,用户体验也不错。因为是词法补全,所以可以在编辑任何语言时使用;也因为仅仅是词法分析,所以只能检索到已打开文件中的单词。这个插件有一个蛮不错的地方在于如果你在输入一个文件路径,他能默认把目录中的文件给补全出来,这一点非常好用。

  如果C/C++想做语义的补全,比如C++想补全stl库或其他类的成员函数。可以使用auto-completion-clang这个插件,它是在auto-completion基础上开发的,用clang/clang++编译器的补全功能来做语义式补全。这个效果其实还是蛮赞的。如果配置好了头文件路径,可以拿来补全各种库函数的。这里,还是要对苹果公司做的这个开源编译器表示十二分的敬意。

####编译和修改   编译上,老老实实写Makefile。编译错误可以直接看到,用Ctrl-x `的组合键可以逐个查看语法错误并修改。

####调试   用Meta-x快捷键,输入命令gdb调用gdb调试器,用起来也还算舒服吧。可问题是gdb在调试C++的stl库上不很给力。

####代码跳转   ctags生成符号文件然后跳转,只有词法跳转,没有语义分析。也没用过很好用的插件,完全无法比得过IDE。

Java,python等其他语言

  别多想,eclipse真的比emacs好用多了。我用emacs写过Java,那个补全真是叫慢。

lisp及其各种方言

  目测这应该是emacs在编程上唯一能够大放异彩的语言了吧。我只写过一点emacs lisp的代码,还有一些scheme的代码,用了括号匹配和括号高亮的两个插件,体验还是不错的。关于scheme编程环境的配置大家可以参考王垠大神的这篇博客。只知道他不让转载,链接过去应该是可以的吧。

]]>
一个平庸者的大学时光(9) 2014-05-01T00:00:00+00:00 ShengOfSun http://www.shengofsun.com/university-life-9 ###考研

  昨天回上海见了几个老同学,大家真是一点儿都没变。尤其是XYC,都有了女朋友了,可讲起话来仍旧是那副又猥琐又有点煞有介事的老样子。尽管看着他非常的亲切,可我发现我对这个相处了一年的室友是非常不了解的。XYC是一个很聪明的人,你和他探讨问题他总是能快速给出反应,游戏打得也不坏,高中时候就学点儿微积分,还有学物理的梦想。但你若问我对他印象最深的是哪一点儿,我还是会毫不犹豫的用“吊儿郎当”来形容他。从他身上,你能极为典型的看到一个人混大学究竟是怎么一个“混”法。平日里翘翘课赖赖床打打游戏,考试前一周靠着老师划过的重点和前几年的考卷稀里糊涂混个及格。我从来都不知道,在某个夜深人静的夜晚,他有没有躺在床上苦涩的回忆过自己当年有点可笑的梦想。我从来都不知道,在某条无人问津的小路上,他有没有不停的彳亍徘徊,为自己将来的前程和出路反复的思索。你所能看到的他,永远是那么的从容淡定,似乎在他的词典里面,永远都没有迷茫一词。

  但从容淡定的他,也从来都没有勇往直前过。他一直都亦步亦趋地随着大家的步伐走着。打游戏如此,考试如此,考研亦是如此。

  老实说我其实没怎么想到XYC会去考研。这么一个懒散的人,你很难想象得出他会把自己按在图书馆里一动不动的复习半年。事实上也不是这样的,XYC作为一个神一样的存在,和那些在图书馆复习得昏天黑地的考研者们是丝毫不同的。白天他会在图书馆复习,但晚上回来后他还是会痛痛快快的打上一晚上的游戏。但神人就是神人,这个最吊儿郎当的家伙,居然是我的圈子里面唯一一个考上研的人。

  这就是XYC最奇异的地方。虽然是一个庸庸碌碌混日子的人,但他却是一个意念非常坚定的人。和那些天真可爱充满干劲的热血青年完全相反,我从来没见过他热情澎湃的投入到哪件事情中去。但当需要面对生活中那些令人生厌的事情时,他却能拿出坚韧和勇气来。所以说生活还算是公平的。它磨灭了你的锋芒,消耗了你的理想,但却让你在一次次手忙脚乱的临阵磨枪和补考中变得坚强起来。XYC在四年中越来越平凡。但换句话说,却也可以说是越来越成熟。

  其他几个人就没有这么幸运了。XRK也要考研,但满脑子都是浪漫主义的思想的他,最后自然是坚持不下来的。414的XYF也加入了考研大军,但在随后有了当公务员的机会后,他也是毅然决然的放弃了。

  最惨的是FYY,作为这几个人里面最早开始复习的人,我一直都以为FYY一定是能考得上的。可是他失败了。那个时候我一直忙于自己的事情,也没有仔细询问过他到底是怎么回事。只从别人的只言片语中,听说他在考研的前一个月突然进入了放弃治疗的状态,没有继续拼命复习反而开始打起dota来了。

  不管你是翻论坛也好,还是听前辈分享也好,关于考研,听到最多的一种论调,必然是说考研考的就是毅力。能坚持到底的,基本都会成功的。从他们四个人身上,这个论点又一次得到了佐证。我打心眼里佩服那些坚持考研并考上的人。因为如果换做是我,我知道我是没有半点毅力去坚持下来的。考研和高考比起来,心境是完全不同的。高考的时候,老师和家长一直在用美好的谎言欺骗着单纯的你,所以即便已经读了那么多年书了,有着美好憧憬的你还会是信心满满的。但到考研的时候呢?已经整整迷茫三年多了,前面仍旧是一片未知,你还会有动力去坚持下来吗?

###保送

  仔细想想,保送其实一个非常科学的制度。如果没有这个东西,只怕大批的学霸在本科毕业后就会拍拍屁股走向工作岗位。这种局面,高校的老师们自然是极不情愿看到的。于是乎,他们用免费的硕士学历这一东西为诱饵,极为容易的就把大量举棋不定的学霸们钓到手了。美中不足的是,硕士生只有两年半,这让贪得无厌的导师们怎么能满意?于是,硕士生的名额开始削减,博士生的名额开始增加。这样,很多意志不坚定的优秀学子就会退而求其次的变成直博生。

  这个手段这么猥琐,以至于很多人都要中招的。至少在我大同济,保送考核后就会有很多的直博生黑马杀到你的眼前来。

  小MX就是他们其中的一员。

  小MX这个人,用楚庄王的一句话来概括是最为贴切的:“不鸣则已,一鸣惊人”。尽管在平日,他是最没存在感的人,但他只要一出场,往往都是极为逆天的亮相姿势。上次是赌上身家性命的惊天一摔;这次,是赌上幸福前程的读博。

  我并无意黑博士生。不管是为学历、为前程,还是为学术理想,只要是有明确目标的,读博都是不坏的选择。但是就我大同济的科研氛围和小MX的个人秉性而言,读博似乎算不上是什么很高明的选择。

  说到小MX的读博选择,其实还是有点曲折的。作为一个对未来没什么规划的好学生,小MX和很多人一样选择了保送本校的硕士研究生。可他运气实在太坏,面试的时候不知道发生了什么情况,居然挂了。猝不及防的他还沉浸在悲伤的睡梦中时,辅导员一个电话打来和他说有直博的名额,问他要不要读。

  梦魇一样的时刻就在这个不经意的瞬间到来了。电话一头是早上的懒觉还没睡醒的MX,另一头是热情地觉得帮了他大忙的辅导员。最最要命的是,对下一步该怎么办小MX还没完全想好呢。可现实世界才不会等你呢,它只会催你快点做决定。

  于是,小MX上贼船了。最讽刺的是,小MX的导师,就是在面试时让他不通过的那个老师。——怎么看,这都像是个阴谋。

  脑子里突然闪过了那一天的场景。小MX自从做了决定后,就窝在寝室一天都没有出来。下午,我和WJ从外面回到寝室。推开门的那个瞬间,就感觉到整个寝室的凝滞和压抑。昏暗的寝室空空荡荡,肮脏的地板上早已熟视无睹的黑色污迹突然摆出了狰狞而异样的形状,小MX悄无声息的蜷在床上,连头都缩到了被子里面。看到这种诡异的景象,我们两个有点儿懵了。我们决定喊起小MX来和他聊天。他蠕动身体,把头探了出来,带着哭腔讲了一句让我至今都有点后怕的话:

  “一想到要读五年博,我就想从阳台上跳下去。”

  懦弱的小MX当然没有选择自杀。当一个人决定结束自己生命的时候,我觉得他应该不会把这件事这么简单直接的向别人透露的。老实说我也丝毫理解不了为什么会有人因为活不下去而自杀。即便是生活再可怕,应该也比不了死的吧。一个人活着的时候,不管怎样他可以感受到自己的存在。而一旦死去呢?作为一个独一无二的个体他就再也不会存在于这个世界上了,那个冷冰冰的身体就连哪怕是痛苦都无法感受。在我眼中,一个人如果能够坦然的面对死,那他反而应该是能坦然的面对活着的任何事。所以我一直都觉得,越是懦弱的人越不会去死。相对于活着而言,他们更害怕面对死亡。

  也许用懦弱来概括小MX对他有点言过其实。究竟是怎样的心态,让他讲出了那样的话,我不得而知。他在闪过那个念头后,脑子里又想到了什么,我还是不得而知。我又自己为是的对我这个可爱的室友做了妄加揣测。但就看上去而言,他的确明明可以尝试新的出路的。我劝他去找辅导员反悔一下,然后争取一个保送外校的名额去别的学校读个研究生去,而且实话讲这样的机会是不小的。但他没有这么做,也许是不好意思和老师反悔,也许是害怕再次失败。于是,这么一个有点厌恶学术却非常热爱技术的少年,就这么阴差阳错的成为了圈子里唯一一个读博的。

  命运,真是捉弄人。

###ACM大神们的命运

  如果从传统一点儿的观点来看,LC大概算得上是我们寝室里面最落寞的了。我读了研,小MX读了博,WJ出国深造。只有LC,在大学毕业后就走向了工作岗位。但是计算机专业自有其自己的评判标准。如果照着那句“最一流的人才出国和工作”的标准来看的话,你就会觉得事实还真差不多就是这么回事。作为一个绝世高手,LC很容易就找到一份薪资相当不错的工作,也的确没必要再在学校继续深造下去了。但每每想到他的时候,我还是会有一种惋惜的感觉。

  从某种意义上来讲,LC是一个真正的怪人。他在我们系里面,计算机的造诣是最深的,可他的成绩却平庸的让你丝毫不会注意到,甚至还挂过科。他会赖在床上翘掉一门又一门的课,可对于数论和组合数学这种又有意思又能有收获的课程,他却一节都没有缺过。他几乎完全靠着兴趣和热情支配着自己的行动,对于成绩这种东西他丝毫不会看在眼里。对于这种不愿受约束的人,国内迂腐的学术界自然是不会给他任何的进修机会的。当然,他也不可能愿意呆在这个充满了伪装、谄媚和欺骗的圈子内。从他个人价值的角度而言,工作也许是个不坏的出路。用自己的能力创造出社会财富,然后拿自己应得的薪资。但如果放眼到国家和社会的角度,学术界留不住这样的人不得不说是一种可惜。因为像他这样又有计算机天分又有数学底子的人,本来就是应该在科研的岗位上做真正有前瞻性的东西的。但现实,把他推向了工业圈的怀抱。

  写到这里,又不由自主的想到了WJ。他是我身边对未来规划最明确的人。从很早的时候起,他就是要决定出国读博的人。整个大学四年来,他也一直在朝自己的目标前进着。可即便是这样一个目标明确又坚持不懈的人,现实也没有完全遂他的愿。留学的愿望达到了,但美利坚读博士的想法打了点折扣变成了北欧的硕士。在我以为他要接着读博的时候,他告诉我他要去Google工作了。

  当然,他还是成功的。对于很多像我一样不得不面对国内糟糕的环境和恐怖的房价的人而言,他达到了令人无比欣羡的地步。凭着他的头脑和口才,在硅谷那样好的的氛围中,他或许还会遇到一批志同道合的伙伴,然后在某个机会下创业成功。能认识这样的人我觉得很幸运,我也祝福他获得成功。可每次看到他带着感伤口气的日志,我心里也会有种淡淡的忧伤飘过。不知道他在北欧的两年遇到了什么,想到了什么;只是觉得,当初那个说着“立功立德立言”的少年,大概再也找不回来了。

###尾声

  当把我室友的故事都交代完毕后,我知道我这个系列终于可以完结了。拖了这么久,中间还经历了一次严重的偏头痛,我都已经有点记不清当初自己写这个系列的动机了。人生大概也就是一篇长长的连载,写一写,停一停,哪怕是再有规划的构思,最后也不知道会扭扭曲曲拐到什么地方去。在我们自己的连载中,我们每个人都有点儿力不从心。最开始的时候,我们总是有宏大的想法。可走着走着,我们就迷失了。我们最初的想法,会被我们一件件的抛弃掉,最后剩下的,基本就是一些非常功利的东西:钱、名誉、成功。

  有时候想想这也是一件无可奈何的事情。因为这个社会对一个人的评价,靠的就是钱、名誉以及成功这种世俗的东西。这个渴望成功的社会变得越来越浮躁,无论是什么行业,每个人都在渴望着创业、当老板,踏踏实实的做事情再也不会被受到尊敬,因为打工者永远是低贱的。有时候都觉得这样的时代甚至都会不如毛主席的那个时代,在那个时代,王进喜这种加班不要命的人,社会还是会肯定他的价值的。而在这个时代呢?我只能说,在“成功”的面前,我们都是失败者。

  写到这里突然又想起我老家的亲戚来了。我是家里面读书读的最好的,他们一直都希望我飞黄腾达、有钱有权,成为一个成功人士。但可笑的是,多年的教育却让我变成了一个心里有点儿清高的可恶的知识分子,想来这真是一件讽刺的事情。

  可清高只怕也清高不了多久了。研究生马上就要毕业了,到时候步入社会,只怕就再也不能体会得到这段校园时光的美好了。想到以后的日子基本就是整日里为着生活而奔波,心里会突然莫名升腾起一种荒凉感来。或许在若干年后,我会变得只关心钱和生计,而再也不会理会价值、理想等这种无聊的东西。也无所谓了,有些东西,该随它去就随它去罢。我所能做的,就是在我二十四岁这年,我用自己最喜欢的方式,为自己即将结束的青春生涯画个句号。在若干年以后,当我回味起这段时光时,自己的心中也不会有后悔。

]]>
一个平庸者的大学时光(8) 2014-04-13T00:00:00+00:00 ShengOfSun http://www.shengofsun.com/university-life-8 ###实习

  时间这东西,的确是非常的奇妙。由于包治感情创伤、内心迷茫等一系列的心理疾病,这玩意儿俨然已成了美文高手们在熬制各类心灵鸡汤时必加的一种食材,也成了哲理大师在兜售其情感妙方这类狗皮膏药时必用的一味良药。但正所谓是药三分毒,时间这种效果卓绝的神奇药草,有一个非常严重却极易被人忽视的副作用——长期服用,可致人麻木。

  如果考虑到这一点的话,本半仙还是觉得此药一定要慎用。如果你觉得本半仙是在这里危言耸听的话,那么本半仙就只好建议你看看《飞越疯人院》这部电影了。电影中的主角本来是一个鬼点子极多性欲极强的正常男人,被医生五花大绑从脑子里切掉一小块东西后,瞬间变得安安静静又傻又呆。当然,“时间”的药性没有这么猛烈,但从作用上来讲,却和电影里的那个“额叶切除手术”有的一拼:因为该药物长期抑制你的内心,所以你对生活的麻木程度会越来越严重。从临床症状观察,就是越来越向生活屈服,越来越远离自己的最初的想法;而你自己,对这一切却浑然不觉。

  也许你会好奇,我怎么会对这个药性这么清楚呢?答案很简单,我就是这个药物的长期服用者。而拜该药物的副作用所赐,我怎么想都想不清楚怎么就成现在这个样子了。

  仔细回想自己的整个大学生活,就像一个中间有断点的函数一样。开始的一段是连续可导的迷茫,后来的一段是连续可导的屈服和淡定。在中间的某个点,思绪的函数值突然就发生了跳跃,留给我的只有记忆的一段真空。这种极不符合牛顿经典理论的力学图像,目测也只能用量子物理这样的怪咖来解释了:最开始你的状态是在一片混沌中,然后某一个外界的扰动,让你的量子态发生了跃迁。那个神奇的扰动力量,大概就是生活的不可抗力吧。而我发生状态跃迁的那个时刻:就是大三结束后的实习。

  如果现在问我当初为什么要去实习,我是一点原因都说不出来的。反正就在那个稀里糊涂的暑假,稀里糊涂就来了一堆公司跑校园里来招实习生,我就稀里糊涂的跟着身边的人挨个听宣讲会、挨个儿投简历。然后在稀里糊涂的面试中,我就稀里糊涂的进了支付宝这家公司。

  这就是生活的本来面目。它不会给你很多时间让你去思索清楚路该怎么走。突然之间,乱七八糟的一大堆现实问题就会跳到你的眼前晃着你不知所措。然后,你就从迷茫和沉思中抽身而出了,来不及继续去思考理想和人生这种高大上的话题,开始认真的考虑眼前的下一步究竟该怎么办。

  所以说“过着过着就不迷茫了”其实是一件非常可悲的事情。因为你根本就不是不迷茫了,而是你已经来不及再去迷茫下去了。你开始变得越来越世俗,你再也不会有能力去思考当初想过的那些问题。换言之,你麻木了。

  “实习”这个东西,作为一个从学校到社会的过渡,的确是起到了它应有的作用。实习让我真切的感受到了“工作”是一个怎样的东西。让我开始郑重的考虑起下一步该怎么走的问题。

  我的思考结果便是继续读研。

  或许有人会觉得读研只不过是不想面对社会的一种逃避而已:继续安定的呆在学校里,把对现实的面对再推迟三年。但那不是我的想法。实习让我看到了就自己当时的水平和能力而言,出去工作将会是一个怎样的起点和状态。多在学校呆三年,我希望的只是简单的实力能有所提高而已。

  看,是不是比以前务实多了。我再也不会继续去思考人生、理想、青春、追求这种蛋疼的问题了。我终于开始踏踏实实的为了让自己变得更强壮而开始努力了。

###光明的前途

  但那个时候,我还没有完全踏实下来。于是,我被一个看上去极其美好的计划给吸引住了:去贫困山区支教一年,回来后在同济继续读研。

  现在看来,这也只不过是为保研不成考研无力的那帮人开的一个保养后门而已。但对当时的我而言,这是何其的有吸引力:既能做一件有意义到让人热血沸腾的事情,又能在狠狠地满足虚荣心后回归现实。抱着这样的想法,在一个下班后的晚上我拨通了我妈的电话。

  现在我都清楚的记得我妈接到我的电话后极其慌乱的语气。这个儿子他们辛辛苦苦培养了那么久,好不容易才把他从一个小破村子里送到了大上海,现在他居然头脑一热要到另外一个小破村子里面去玩支教。一年之后能平安玩回来也就罢了,万一遇个山体滑坡泥石流把人给埋了怎么办?即便埋不了,万一他脑子抽筋到底决定就呆在那里不再回来怎么办?我妈那时真的是给我吓坏了,她语无伦次的和我说她没听懂我到底是个什么意思,然后就把我电话扔给了我爸。

  要说我爸还是要比我妈镇静些。他开门见山的就道出了问题的实质:

  “支教这东西,就是用来哄骗他们城市人的。他们成天吃好喝好,硬是闲的没的做才去支个教,假装着体验体验农村生活的。你跟他们凑甚的热闹了,农村的生活你甚不知道了。他们那种山沟沟更是比咱们都艰苦多了。咱们好孬出门门有条公路能坐个汽车。他们了,除了牛车还是个牛车!”

  我爸在一通劝说后,回过神来我妈接过电话继续车轮战。不过和我爸的战术不同,我妈走的是亲情路线:

  “妈什么都不求你,只求你平平安安的。你说万一去支教出个啥的事儿咋办啊?”

  我是个乖孩子,我不忍心我妈为我牵肠挂肚。在电话这头,作为一个男人的我又哭的稀里哗啦。然后我就败下阵来了。

  那真是一个美好的的夜晚。已经到十月份了,酷暑已经开始退却了。这座城市耀眼的灯光均匀的涂抹在静谧的天空中,习习晚风拂动着我的全身。四周高楼林立,被高楼环抱着的我是那么的渺小。就从这个夜晚开始,我不再做任何有关青春的梦。

  剩下来的事情就简单的多了。靠着给力的成绩,我拿到了学校外推的资格,皈依到了浙江大学这座和尚庙之下。其他的人也都开始为了前程忙活起来。工作的,留学的,保研的,考研的。大家突然都目标明确的知道自己要去干嘛了。但这变化来的太突然,太快,以至于让我完全看不清楚到底发生了什么。事实上也没人能说清楚到底发生了什么。反正大家都忙忙碌碌,为着前程,为着生活。

  就像新华字典里的那个经典例句一样:

  小红当上了售货员,小明当了工人,小军当了解放军,我们都有光明的前途。

]]>
一个平庸者的大学时光(7) 2014-04-11T00:00:00+00:00 ShengOfSun http://www.shengofsun.com/university-life-7 (1)

  在更新完第六篇后,我对自己这个连载的走向陷入了一片迷茫的状态。本来是希望写一些东西记录一下当年艰辛的心路历程,然后怀念一下身边可爱的同学的。但我发现,那些在眼前历历在目的场景到了笔下却再也清晰不起来,那些在脑海中活蹦乱跳的人说出来却又变得毫无生趣。在这种时候,我就会想冲动的结束掉它,就像我会冲动的开始它一样。

  任何的冲动都是相似的:你先是头脑发热,然后血脉上涌,然后决定开始一场惊天动地的旅行。感性的人总是会陷入各种各样的冲动中,他们为自己的行为觉得自豪,他们渴求自己的特立独行能获得他人的肯定。但到头来,那个被感动的人只有他们自己而已。

  当然这并不会是事情的结尾。如果冲动的结尾是感动的话,那倒也还算个不坏的结局。现实往往会滑稽的多:感性的人们冲动地在前进的过程撞的头破血流,在知难而退后,整个故事在闹剧中草草收场。紧接着,钱钟书这类坏作家们就会以他们的故事为蓝本,写出《围城》这种可恶的东西来。而且这类东西不仅会让广大的读者撕心裂肺地笑到最后,而且还能在一片好评中大模大样的入选“高中生必读的XX本书”这种让人深恶痛绝的书单中去。

  想到这里,我就会再次硬着头皮端坐在电脑前面,因为我实在不想沦为坏作家们的笑柄。可我对故事的迷茫仍旧还是没有出路,尽管我对过去有着深深的怀念。我会怀念我的那帮室友,是他们让我的大学生活异常充实;我会怀念白白胖胖的SZ,是他告诉我男人成就事业的最好时光是在30岁之前;我会怀念和我性格和我有点相似的FYY,我们自信程度总是差了那么一点点,我们总是会觉得身边的每个人都那么了不起;我会怀念少言寡语的SPP,这个人一声不响的就会在某网站上怒刷500道编程题,让你在一片唏嘘中感慨一个人居然会有这样的毅力。当然还有土豪样十足并且猥琐样十足的CJY,尽管这货就跟那帮在超市用针扎避孕套而报复社会的人一样,成天在你周围肆意传播负能量并且打击你,但你想起他来仍旧不会有任何的讨厌之处……

  我的这个名单不会很长。但如果再写下去的话,只怕我凑字数骗稿费的居心就要被大家看穿了。他们的故事我也不想展开了,因为我苍白无力的文字还是无法勾勒出我们平凡而伟大的友谊。和任何的大学友谊一样,大家都是在人生迷茫的那个阶段遇到了一样充满迷茫的人们。在那条极其艰辛的道路上,大家结伴而行,然后大家就成了朋友。这种平凡而无趣的故事,与其让它无力的躺在腾讯某个服务器的硬盘上,还不如让它美好的烂在心里。

  但有一个人是不一样的。每每想起这个人,我都会有一种极其异样的心情。也正是有了这个人的存在,让我觉得在平淡的结束这个系列之前得说点什么。

  这个人就是XRK。

(2)

  如果按照我的命名习惯,这个人我应该称呼为XY。但是考虑到怕和XYC这个人物混淆,我还是决定用他最喜欢的一种植物来称呼他好了。

  XRK是四川人,脸形和身形都较为修长,肤色白净,小眼睛,讲话声音柔和动听。加上鼻梁上架着的那副眼镜,让他全身都散发着一种和猥琐工科男极其不符的气质:书生气。除此之外,XRK父亲的职业——科学家——让人听了也有一种浑身肃然起敬的感觉。他进同济的门票,靠着也是看上去极为高大上的计算机保送而获得的。

  说到这里,大家可能以为我要介绍的大概又会是个不世出的绝世高人。但事实上却不是这样的。如果让我用一个词来概括一下XRK,那我能用的只能是“奇怪”。

  XRK的奇怪之处从大一开始就展现出来了。在我对世界历史的了解还停留在只知道第二次世界大战的程度的时候,他就开始用东罗马帝国为何会覆灭这种高深的问题来和你探讨。如果你走进他的寝室,你也一定会被他床头贴的密密麻麻的扑克牌而惊得不知所措。于是,你好奇心就终于被激起了,摩拳擦掌准备和这么一个怪人好好交流一下。但这时,他的室友们一定会拉着你的衣角警告你一定要慎重;因为据他们所说,他深邃地不可见底的世界观,一定会把你从正常人类的世界中揪出去。

  当然,作为一个看上去有点匪夷所思的少年,一般都要在精神上受到一些匪夷所思的疾病的困扰的。XRK自然也不是意外,他在大一时候,就开始受到了失眠的困扰。

  至于后来他的失眠症有没有好,我并不是那么的清楚。我所能看到的和听到的,是这个少年继续用行动证明着他的怪异之处。分寝室的时候,他放弃了业已相处了一年的朋友圈子,独自一人跑去和其他专业的人住在一起。在那个寝室,他又搞来了酒精灯等器具,做起了研制香水的勾当。在你快要忘掉这个人的时候,他又突然搬回到了你的对门。

  貌似我对他的行踪的交代开始让不熟悉的人犯迷糊了,所以还是补充说明一下他们这个寝室的情况吧。大一的时候,XRK作为邻居住在我们的隔壁。和我们寝室一样,他们也是六人寝室。大二分宿舍,前面提到的FYY和三人组住到了414,XRK搬出去另谋出路,剩下的四人原封不动住到了416寝室,成了我们对门。又过了段时间,416一位同学华丽丽的肉身翻墙到美利坚,XRK就又顺势搬了回来。

  我不知道他在搬出去的那段时间过的怎么样,但在搬回来之后,那个奇怪的他仍旧是一点都没变的。香水倒是不再研制了,只是又玩起了滑板而已。

  我就在此止住了吧,虽然并没有把他的事情说完,但我却不想让这一篇变成一篇窥探别人世界的猎奇性文章。你只要知道,这个怪异的少年一直在不断尝试着新的东西就行了。而且的这些东西之间毫无联系,让你完全无法从中看出他到底是想干什么。你完全想不通,作为一个保送过来的学生,他为什么会浪费自己的那身本事去做些和计算机毫无相关的事;你完全想不通,他智力并不低,却挂科挂到了快要毕不了业的地步了;你完全想不通,为何大家都在忙着学习、把妹、兼职赚钱甚至是打游戏,他却依旧倔强地做着他的那些事情。你只能坐等下一件新奇的事情让你目瞪口呆,然后在你终于对他的事迹厌倦后草率的给他打上另类的标签。

  可当你听到他藏在这一连串事情背后的动机后,你对他的迷惑就会突然的恍然大悟:

  他想要当一个作家。他所做的这一切,都是为了体验生活。

  不知道你们在看到这样的解释后是怎样的感觉。反正当时就我而言,整个脑子都觉得奇妙极了。那些你完全看不清的现象,背后隐藏的道理居然是这么的简单明了。这个人做事这么不着边际,居然有着这么直接而高尚的理由。那种恍然大悟带来的清爽,以及对他坚持不懈的敬佩,就像是久旱逢甘霖一样。但这种感觉是持续不了多久的。在敬仰之情消逝之后,对这个人因同情而带来的无力感就会占据我的心头。为了他的梦想,他不思学业,不顾前程,甚至都没法像一个正常人一样好好的睡觉。每当想到他的这些东西,有点不寒而栗的我都会不由自主的思考一个问题:他这么做值得吗?

  或许,至少有一点是值得的:如果没有这些尝试,他就绝对不会以一个怪人的形象出现在我的笔下。

(3)

  好了,XRK的故事基本说完了,又到了评价和总结的环节了。但我其实根本不知道说什么好。对于这样的一个人,我丝毫没有任何的能力和资格去评价他。在所有人的眼里,XRK绝对是一个失败的不能再失败的人了。不认真读书,勉勉强强混到了毕业。好不容易在上海找了一个工作,却因为心不在焉而被老板辞退。回了四川老家,工作仍旧是一副马马虎虎的样子。最可气的是,他仍旧是丝毫没有安定下来好好工作的意思。

  但我却很难和传统的价值观达成一致。每每想到这个人的时候,我脑子里最先浮现的总会是毛姆在《刀锋》中写到的那个拉里。他们本身的能力不算太坏,身边的资源也并不匮乏。只要他们稍稍花点儿力气,就能像任何一个普通人一样去生活。但他们却执着地选择了一条让你难以理解的道路。拉里去过了世界的很多地方,读了大量的书籍,认真学习了很多的宗教和哲学的思想。没有钱的时候,就靠着帮别人干苦力活来养活自己。但他坚决放弃任何稳定的工作,孜孜不倦的用“晃膀子”的方法来寻求人活着的意义。XRK呢,去体验各种不同的事情,找一份工作也只是为了养活他的小说和梦想。

  一旦思考到这个程度,我的内心就会是五味杂陈的。我们都有过稀奇古怪的不切实际的梦想,但一种莫名的力量总是在把我们朝着远离梦想的方向推动着。但这种力量究竟是什么,我们总是说不清楚。也正是这种力量的难以言表,才让我们觉得恐惧不已。我们随波逐流,丝毫不知道它会把我们挟裹到什么地方去。

  但是XRK的存在,却让恐惧的你看到了一点希望。你会发现,原来有的人是无法被这种力量撼动的。他对那种遥不可及的东西的不停止的追求,在这个物欲横流的社会前,是那么的耀眼。

  但写到这里的时候,我害怕了。我不知道XRK在看到我这篇日之后,他究竟会作何感想。我只希望他不会因为这篇日志而受到任何影响。因为不管是哪个方向的影响,都会让我的内心觉得阵阵不安。

  但我还是忍不住想把他的故事说出来。因为我觉得这个故事值得每个曾经有过梦想的人去看看。

  每次在他和我聊天后,我对他的这种矛盾心理就会再次斗争一番。作为一个朋友,我希望他能过一个正常人的生活。但作为一个旁观者,我又想默默的支持他继续前进。对于这种和自己完全不在一个层次的人,我真的不知道选择怎样的态度。

  想起我之前问他的一句话:“你过这样的生活准备过到什么时候?”他和我回答大概会过到二十七八。我不知道他在二十七八岁的时候会怎样。也许他真的会向这个现实社会妥协,和我们每个人一样,老老实实的工作、生活;也许他还是一次次不停的重建着自己的世界观,然后朝着自己的梦想努力迈进。我懒得做任何假设,因为那个带着一身书生气而想当作家的倔强身影会永远的在我脑海中定格。他用他单薄的身躯,带着惆怅、迷茫以及喝完红酒后常有的醉意,在我的心里书写了两个大字——青春。

]]>
一个平庸者的大学时光(6) 2014-04-08T00:00:00+00:00 ShengOfSun http://www.shengofsun.com/university-life-6 ###大学之道

  前面在形容LC的时候,用洪七公做了类比。仔细想想看,其实还是不怎么贴切的。除了极度不修边幅和内力深厚外,LC和洪七几乎没什么其他共同点了。如果换个角度看,反而是上通天文地理下晓诸子百家的黄老邪和LC更有几分相似。

  没错,除了代码写的好外,LC还拥有大量其他的技能。比如美术,不仅能极为装逼的和你讲出梵高的画美在哪里,而且自己还能有模有样的绘几张素描。再比如音乐,几乎很少听有歌词的曲子就算了,他居然还会没事拨弄几下吉他。如果这些还不足以把你吓尿的话,那我就只好祭出哲学这等大杀器了。当你考虑到他的书柜上会摆着黑格尔、康德这类人物的东西后,一种难以克制的自惭形秽有没有从你的内心中升腾而出呢?

  不过上苍还是非常公平的。老天给了他智力和才艺,却没有给他一个健康的审美观——能让他感兴趣的异性,似乎只存在于2D的世界中。

  说道这里的时候,我想大家一定已经恍然大悟了:他和小MX一样,也是个对动漫有着狂热痴迷的宅男。

  在动漫这个问题上,我们寝室的四个人泾渭分明的分成了两个派别:小MX和LC组成的动漫派,以及我和WJ组成的正常人派。可能是出于还是倾向于和正常人交往的缘故吧,WJ和我的关系比以往更密切些了。诸如去修电脑啦,出去逛街买衣服啦,WJ一般都会乐于喊我去和他作伴。到了大四,我们甚至会蛋疼到一起去看3D版的泰坦尼克号。

  写着写着,突然就觉得两个人之前做过的事情几乎是有些不敢直视的:两个人会在从同济通往黄渡镇的绿苑路上,猛踩自行车比谁骑的快;他在踢球受伤后,我会把一拐一拐的他扶回寝室。甚至,在实习的时候,我们两个为了省钱会去合租一间卧室——一间只有双人床的卧室。

  不行了,不忍心再朝下写了。只想说,幸好我们都是直男。

  作为一个基本什么兴趣爱好的普通青年,我其实是一个非常容易受到身边人影响的人。会看宫崎骏的动画,是受LC的影响;会去看《白色相簿》这种后宫向的动画片,是受小MX的影响。现在想想,当时如果要没有WJ的话,只怕我要被这两货带成上AcFun、bilibili以及看小萝莉动画片的宅男一枚了。

  多亏WJ,在他的影响下我成了一个伪球迷。

  最开始一起看球是在世界杯的时候。那场巴西踢朝鲜的足球让我彻底改观了对足球的看法。然后一场场球看下来,在他精彩而到位的解说下,我开始对这项运动的魅力渐渐有所领悟起来。如果没有认识过这个人的话,我想我大概绝对不会在上周二半夜两点多爬起来看曼联和拜仁慕尼黑的那场比赛。尽管很多攻防上的细节,我还是搞不明白。但不管怎样,好歹我能津津有味的把那场比赛看完。

  写到这里,发现今天的内容可能要让看日志的人失望了。除了单调的记录,似乎没有什么太出彩的地方。但这就是我大学生活的缩影:作为一个平凡的人,在做着一些平凡的事情。作为那几年里我最为重要的生活圈子,这个地方承载了我几乎全部的欢乐和痛苦。

  从旁观者的角度看,我们一个宿舍的这几个人是有点儿另类的:没有聚在一起喝酒,没有一起去过KTV,也没有干过任何其他的或惊天动地或颓废的事情。但是在我看来,正是这一群单纯率真、没有任何虚伪世故的人,给我编织了一个充实的近乎完美的理想梦境。我们会因为一个组合数学的问题讨论的热火朝天,我们会因为文学作品的好坏各抒己见。和他们在一起,让我在被这个社会彻底庸俗化之前,体会到了知识的乐趣,体会到了理想的美好。

  耳畔突然又想起了LC嘴里常常念叨的那句文言文:

  “大学之道,在明明德,在亲民,在止于至善。”

  本来想继续朝下写的,但努力了几次后,我还是决定放弃了。在回忆完这几个人后,我已经没有心情再写任何新的东西。大脑一片空白,就此作罢吧。

]]>
一个平庸者的大学时光(5) 2014-04-07T00:00:00+00:00 ShengOfSun http://www.shengofsun.com/university-life-5 ###从此君王不早朝

  毫无疑问,417绝对是最适合我的寝室。对于一个每天都逼迫着自己不断上进的人来说,没有哪个地方能提供比这更好的环境了。一方面,两位大牛虎踞龙盘,让相形见绌的自己不得不奋起直追;另一方面,和我水平不相伯仲的小MX也不是不是吃素的料,让为了防止不垫底的我也只能整天埋头苦干。

  如果说我在417是生于忧患的话,那么三人组所在的414就有点死于安乐了。三位dota迷,加上刚刚加盟的FYY,让整个414都笼罩在一片dota带来的祥和盛世中:搞起的次数越来越多,外卖的餐盒越堆越高,睡觉的时间越来越晚,上课的次数越来越少。任何一个能从大学顺利毕业的人,相信都会对这种歌舞升平的景象心存警惕的。因为这意味着,有人要堕落在dota的世界里逃不出来了。

  QZ就是其中一个。不过QZ的堕落和FYY是没什么关系的。早在大一的时候,QZ就已经走上这条不归路了。

  记得大一刚入学的时候,QZ还是比较正常的。至少能和我们一起去上高数课,而且在课上还会像模像样的做个笔记什么的。但是好景不长,噩梦在大一上学期的一个晚上降临了。

  那是一个沉闷的晚上,四周压抑的空气预示着一场大雨即将来临。刚参加完英语的期中考试,我和WJ走在回寝室的路上。因为刚和另一位学霸对完答案,所以两人心里还是有些忧郁的。回到寝室后,发现其他人也都不怎么开心的样子。小MX照旧是躺在那里玩PSP,剩下的三个人都东倒西歪懒散的堆在XYC的床上。在我准备放书包的时候,XYC的一句问话打破了寝室的沉默:

  “圣,我们准备网吧包夜,你要去吗?”

  我当然毫不犹豫就给回绝掉了。于是,在看着他们的背影走出寝室后,整个房间就只剩下了三个人。那个夜晚,填补寝室一半寂寞的,是窗外哗哗的大雨。

  好吧,我承认上面的对话和场景都有我脑补的成分。原谅我已经很难清楚的记得六年前的那个夜晚到底是什么样子了。在我对记忆做了拼命的搜索后,脑子里能浮现的只有沉闷的夜晚和瓢泼的大雨,大概这就是那个炎热而多雨的城市给我留下的最深的印象了吧。也许那个夜晚清爽宜人,也许XYC根本就没有喊我一起去网吧。我再也不会知道事情的本来面目。我只知道,从那个夜晚起,那个温和又随性的QZ就再也没有回到原来的样子了。

  接下来开始的就是俗套的剧情了:他们三人开始更加频繁的去网吧。在大一下学期学校允许带电脑后,QZ开始频繁的缺勤上午的课程。最开是的理由是要看NBA比赛,后来就演变成打dota和看dota视频了。在其他三个人都为了前程从dota中抽身而出后,他又玩起了魔兽世界。接着便是挂科太多,导致留级。然后就再也没有他的消息了。

  如果去找ZY以及XYC聊天,他们多半会说QZ是因为女朋友和他分手而变成这样的。但我觉得事情其实不是这样。我更相信女朋友其实和NBA视频一样,只不过是他放纵自己的另一个心理暗示而已。和很多在游戏人生中迷失自己的少年一样,在那个看不清路的年月,他们选择逃避。一旦走上这条路,任何一个细小的事情,都会成为你开始堕落的借口。

  前天和FYY谈起我准备写QZ时,他希望我能写一个有好有坏的真实的QZ。但写到这里我才发现,我又站到了传统道德的制高点开始对他进行批判。还是就这样吧,情感上的共鸣,前面的系列里我基本已经交代过了。对于一个和自己的人生观出入比较大的人,这么多年来我对他一直都是带着有色眼镜的。客观公正,我估计做不到了。

  又想起了QZ刚入学的一个场景:他的父母手忙脚乱地帮他收拾着床铺和柜子,他自己站在一旁兀自看着,像个孩子一样。

###继续迷茫

  QZ堕落后,我们一个寝室都在竭力挽回他。苦口婆心也好,义正言辞也罢,QZ都不为所动。说得烦了,他会冷冷的回你一句“下周就不玩了”“五一完了就开始读书”之类的话。现在回想起来,除了感慨一下当初为什么会愚昧的做那么多无用功外,有一点还是值得玩味的:我们那样的劝说,究竟能有多大的说服力?

  我觉得无需细说,无论把谁扔在那个环境下,都会是那几句陈词滥调的空洞劝诫:“你要好好读书”,“你不能浪费时间”。这种方式和语气,只怕大家在很小的时候就已经被家长念叨着心都烦了。这是个蛮有趣的事情,须臾之间,我们竟站到了自己说一直讨厌的那个位置上。

  而且如果仔细推敲的话,这样的劝说实在是毫无意义的。谁不知道应该珍惜时间好好读书?在这个问题上,没有人会迷茫。大家所迷茫的其实是另一个问题:我好好读书为的是一个什么样的生活?

  前面说过,我自己当时对这个答案是无解的。于是问题就出来了:你自己都一片迷茫,怎么能有效的点醒他人?

  我在那个时候会埋头读书,这只不过是一个不愿堕落的人的另一种逃避方式而已。这种视而不见的处理方式,终究会是个隐患。只要时机合适,这个隐患就会全面爆发。

  于是在大二的时候,我对整个世界的怀疑和不解让我有种坠入谷底的感觉。四周都是重重的迷雾,你完全不知道要到哪里去。那个时候所怀疑的,不仅仅是为什么要读书这种单纯的问题了,更严重的还有人生的价值和意义这种看上去非常欠揍的问题。

  那个时候和WJ交流这种话题,他自信的告诉了我他的答案:“立功,立德,立言。”

  事实上,越是这种听上去让人心潮澎湃的答案,越会让人觉得痛苦不堪。作为一个热血青年,谁不想着自己能在有生之年在这个世界上留下点什么东西。但是回到现实后的那种无力感,就会瞬间窒息的你头晕目眩。那时候你就会感觉自己是一条被扔到岸上的鱼,尾巴拼命拍打着地面,但是却无法抬起头来找找看水源在哪里。

  其实你比鱼要无力多了。你明明有手有脚,你明明行动自如,可还是苦苦寻找不到那水源。

  想起了罗志祥的那首《猛男日记》:

  一觉醒来
  发现我还是那个瘦皮猴
  虚胖的瘦皮猴
  想当孙悟空
  它找很多借口
  没有时间运动
  只有时间做梦
  梦里的它比较猛

]]>
一个平庸者的大学时光(4) 2014-04-06T00:00:00+00:00 ShengOfSun http://www.shengofsun.com/university-life-4 ###WJ

  如果让我回忆大一时候的WJ是什么样子,最先想起的基本上都是些极其高大上的东西。比如说在我连码字都码不顺的时候,他就给我展示了Linux这种极其小众的操作系统;比如说在线性代数课本刚发下来没几天的时候,他就开始狂日有关行列式的习题。但是当你考虑到他会在线代课上逼着你和他比做习题的速度的时候,你就会觉得上面我说的那些是完全无法展示他的丧心病狂的。现在想想看,我在未来的大学生活中之所以会那么歇斯底里的开启学霸模式,这货只怕也难辞其咎。说到底,就是他嚣张的大秀智商开启了我内心不甘认输的潘多拉魔盒。

  写着写着就感觉有点儿要妖魔化WJ。但事实真的不是这样的。外向、幽默又文艺的他,绝对不是谢耳朵那样无可救药的nerd。他也有他生活化的一面。发动整个寝室去校外的小餐馆吃饭,这是他最乐于做的事情。犯二的事情他从来就没少做过,例如和XYC同学抢着YY某个女生——不过,考虑到我还要等着看他的“黄渡爱情”系列,他的这些事情还是让他自己去慢慢展开吧。

  能侃又搞笑,一般这样的人在交友中是很容易影响人的。不过可惜的很,在搞ACM竞赛这件事情上我就丝毫没有被他影响过。

  鉴于读者中有很多非计算机专业的,这里还是大致稍微解释一下ACM竞赛这个东西吧。基本上就是一帮子学生聚在一起,看谁能够更快的写出更好的计算机程序。那时的我还蒙昧无知,并不觉得这样的一个竞赛有多么的要紧,反而觉得踏踏实实学好课业才是最重要的事情。

  现在回过头来看这件事情,想来虽然有点儿遗憾,但也没什么好后悔的。我本来就是个保守的人,向来只会稳稳妥妥的走每一步,涉险的事情是绝对不去做的。如果去搞这个竞赛,不管能否功成名就,功课至少是要落下不少的。——一旦考虑到这点,我自然就会畏缩不前。

  这就是那个时候摆在我面前的现实,从迈进大学校门的那一刻起,整个人就迷茫的像个没头苍蝇一样。没有人会告诉你该走怎样的路,甚至都没有去想过以后要过什么样的生活。在这样的一个状态下,最惯常的做法就是不去做任何改变:仍旧像高中那样去读书。

  其实还有另外一层原因的:那个时候很怕读书读不好的。像我这种自小到大家长都视之为骄傲的孩子,是丝毫不愿意让家长看到成绩下滑的。再加上父母每天都在辛苦的劳动,更不愿有哪怕是一丁点的事情让他们不安心。

  写到这里,突然又想起了ZQK大学霸。不知道他现在在清华过的怎么样。我们都是被很多家长从小羡慕到大的乖孩子,都背负着父母甚至是整个大家庭的期望在前行的道路上踽踽独行着。对我们来说,全部的意义就在那毫不停歇的行走上。至于走到哪里,没人知道,也不见得有那么重要。

  所以说“性格决定命运”这句话实在是妙的很。没有魄力和勇气,机会摆在你面前你也无能为力。

###417

  接下来就该我的最后一个室友——LC——隆重登场了。他和WJ是ACM竞赛的队友,两人都是从高中搞计算机竞赛而保送到同济的。因为他俩认识,所以在分宿舍中落了单的他就被WJ顺手拉到我们寝室来了。

  他之所以会在原寝室中落单的,这原因说出来只怕是有些搞笑的:因为他不是党员。原来在分宿舍上,我们学校的党员统统都被发挥了模范带头作用,均被强制要求和留级生或者后进生住在了一起。于是,他们宿舍其他五个党员都去代表最广大人民的根本利益去了,剩下他一个人就凑到我们这儿了。

  在这里,我要给我党送上最诚挚的谢意。多亏了她对人才的严格甄选,才好把我们这种政治盲、愤青、带路党等三教九流的人物排除在了党的怀抱之外。也多亏如此,我才能在分宿舍中有机会遇上LC这样的奇人。

  LC个子不高,身材瘦弱,一头乱蓬蓬的头发,整个给人一种邋里邋遢的感觉。看过武侠小说的人都知道,这样的人物上场,往往都意味着一位身怀绝技的人出现了。比如《射雕英雄传》里的洪七公,他那一副放浪形骸的外形之中,居然隐藏着天下最为刚猛的降龙十八掌。

  对LC而言,也是如此。在他第一次出现在我面前的时候,我就能从空气中敏锐的嗅出他浑身散发的独特气场;而在这气场之中,你能感受到的就是他常年苦心研读计算机科学技术而修得的震古烁今的深厚内力。

  至此,四人已全部集齐,传说中的417寝室气象已成。

]]>
一个平庸者的大学时光(3) 2014-04-05T00:00:00+00:00 ShengOfSun http://www.shengofsun.com/university-life-3 ###抉择

  很多人听到我读大学的地方是上海时,都会由衷的羡慕我能在这个繁华大都市呆上四年。可他们哪里知道,大量的同济工科狗也只有大一的时间来仔细品味这座城市的繁华——当然,在部分上海人眼中,杨浦区这种贫困区是算不得繁华都市的一部分的。剩下的日子,大家都是在嘉定区一个叫做黄渡的小镇上度过的。在这个远离南京路远离外滩的地方,我们用三年的时间深刻体会了“繁华大都市”的第二个特点:大。

  这些已经是后话了,当时在搬校区之前,我最关心的问题只有一个:“换了校区我要和谁住?”

  我最希望的,自然是现在这六个人原封不动还住在一起的。但是黄渡校区只有四人寝室给我们住,这就意味着,我们这个寝室毫无疑问是要散掉的。

  作为和所有人都相处的比较好的我,这种情况把我推到了一个极其二难的境地。他们五个人基本已经是分的比较清楚了,三人组抱团要到一个寝室去,WJ和小MX准备另起炉灶。现在还没有明确表示立场的人,只剩下我一个了。

  他们两方也分别在拉我入伙。一方面,WJ充分调动他的三寸不烂之舌,给我细致的分析了我这种type是不属于三人组的。另一方面,三人组和猛我打感情牌,希望我们四人能完整组一个寝室来传承现有寝室的精神。

  瞬时间,我感觉我成了解放前夕的陈寅恪和胡适之流,共党和国民党都在积极争取我投入他们的怀抱。不同的是,人家是作为高端人才被抢的;而我呢,充其量只是个寝室劳动模范。

  作为老好人的我,最怕的就是抉择。

###点滴

  从情感上来讲,我是很愿意和三人组住在一起的。前面也说过了,相对而言,性格不突出的三人组是比较好相处的。大家都是一个层次的人,无需仰视就能很容易混个自来熟。和他们在一起,我也较多的体会到了作为一个俗人吃货的乐趣:一起在半夜十二点去吃门口的便宜麻辣烫,一起在热闹的大街上排队买肉夹馍。每每想起这些事来,我都会觉得开心而自在。

  当然还远不止这些。再比如QZ会和我分享初恋的照片,XYC总是能用女性生殖器官讲些俗到爆却新奇到爆的理论。还有ZY——

  提到ZY,突然想起一件让我至今非常感动的事情。大一的时候,我和三人组去五角场逛街。傍晚时,他们把我拉到了Berger King去吃晚饭。

  我会告诉你我从生下来直到高中毕业,我连见都没见过汉堡是啥样子么?可想而知,对它们是什么价位,我自然是丝毫没底的。当我看到一个最便宜的汉堡都要卖到十几块时,腿都吓得开始哆嗦了,要知道那个时候我给自己订的伙食费是一天十二元。

  我颤颤巍巍的从兜里摸出自己的钱包,只买了一个最便宜的汉堡。他们三个,就是随随便便各花几十买了自己想吃的东西。

  那真的是一个很尴尬的时刻。贫富和阶级的差距,就在那个不够一平米的餐桌上,毫无遮掩的暴露出来。一方面是吃上的高下立判,另一方面是我真心舍不得这么豪赌一把。好在ZY看出了我的这种窘境,从容大方的请我吃了一个汉堡,价值二十多。

  我现在很感激他没有露出任何鄙夷或者不屑的神色。在那个时刻,一个穷人的尊严——这个世界上最珍贵也最卑贱的东西——没有一丝一毫的被践踏。

  写到这里突然想起了大一的时候有次和FYY吃饭,他就问我为什么从来都不吃肉菜,并且劝诫我光吃素菜会营养不良什么的。我当时把这个问题搪塞过去了,虽然我极力想隐藏的那个答案很简单:为了省钱。

  现在回过头来看,同济尽管已经被本科同学黑的一无是处了,但我还是要仍旧有些庆幸的。至少我身边的工科男们都非常的随和。在这样的一个环境中,那个从小村庄里走出来的人,至少能把他因没见过世面和兜里没钱而带来的自卑心理很好的藏起来,去学习,去成长。    ###分野

  貌似扯得有点儿远了,回来接着说我和三人组的事情。即便关系不错,但我和他们三人之间仍旧有一个非常大的不同点:我不打dota。或者说的严谨点儿,我基本上什么游戏都不打。

  说到这里,估计会有大量的人民群众开始从心底鄙视我了。紧接着,应该就是潮水般的嘲笑汹涌而至。这样的帖子看过不少,反正就是各种借着dota回忆自己的峥嵘岁月,感叹一下和队友的美好时光,然后炫耀有dota的日子里的颓废。反正不管怎么说,我完全想不通为什么连打dota都能打出优越感了。

  大概嘲讽这东西是人类本能的一部分吧。一旦被各种标签划到不同的类别中,口诛笔伐就开始了。比如大男子主义;比如理工科的喜欢嘲讽文科社科的;比如985狗各种秀优越感。再比如用C/C++的嘲讽用Java的嘲讽用C#的嘲讽用VB的。

  我无意嘲讽打dota的人,也绝不后悔自己没有将自己的青春岁月托付给dota。尽管不打游戏可能让我的人脉关系会淡一些。尽管从高中开始,我就已经在“红色警戒”这个话题上完全无法和寝室的同学交流了。

  没关系的,套用实验室某位吊炸天的某句名言:“不要在意这些细节。”

  巧的很的是,WJ和小MX也不打dota。在游戏上我们三人也没什么共同爱好:一个玩体育类的游戏,一个玩各种文字冒险类和少女养成类的游戏,一个空集。我们的共同爱好是,喜欢学习,喜欢计算机。

  最终我放弃了三人组,选择和WJ、小MX住一起。做这个决定的那个晚上,我难受地哭了。到现在我都说不清楚,我究竟是因为兴趣爱好问题而做的决定,还是为了让自己能够上进而狠心的做的这个决定。

]]>
一个平庸者的大学时光(2) 2014-04-04T00:00:00+00:00 ShengOfSun http://www.shengofsun.com/university-life-2 ###开始融洽起来

  谈过恋爱的人都知道,当两个人正是浓情蜜意的时候,那些甜得发腻的称呼喊出来,往往会让旁观者觉得毛骨悚然。有过好基友的人也清楚,当整个圈子的关系开始融洽起来后,毫无节操的绰号也会让外人觉得丧心病狂。

  深谙这一点的我便没有坐以待毙。与其等着别人把不忍听闻的绰号加到我头上,倒不如自己先行一步为妙。于是在某天洗澡结束后,脚踏大拖鞋、身披湿毛巾的我冲进寝室便开口喊道:

  “俺孙大圣又回来了。”

  现在想想来看,这一声极度自信的大喊,乃是我这辈子做过的最为英明神武的决定。我自己是个什么情况我是最清楚不过的了:长相不佳,五短身材,肤色黝黑,腹藏赘肉,饭量极好。扔给这帮龟孙子,只怕要把我编排成贪嗔痴样样皆沾的二师兄了。多亏我机智地利用祖先赐给我的好姓,率先把“大圣”这一称呼据为了己有。

  至于这个称呼究竟有没有辱没真正的齐天大圣。哼,Who knows,who cares。

  上过历史课的我们都清楚,落后的封建的残余势力最喜欢做的事情就是复辟。在外号这件事情上,我的那帮室友们也总是亡我之心不死。后来他们也试着给我起过新的绰号的,终究都没有经得起时间的考验。只有“大圣”这一响亮的称呼,如九天的明星,如孤傲的灯塔,一直坚挺的陪我度过了大学四年的风风雨雨。如果没有意外,陪我把这三年研究生熬完也该不成问题。

  有的几个室友们日子就没我这么如意了,让我都不忍把他们奇奇怪怪的那一沓绰号给写出来了。不过这些浮云反正也不那么要紧。真正要紧的是,每当我想起这些东西,我就似乎能看到这几个人嘻嘻哈哈的坐在我的左近,都盲目的憧憬着未来的美好。

  那个时候的日子,真的是极单纯极幸福的。一个寝室六个人一起吃饭一起上课。晚上无聊的时候,一起下下象棋斗斗地主。最勤劳的我,尽管肩扛着买早饭和高数课占座的重任,也总是忙的是乐此不疲。

###八面玲珑

  美好的时光永远都是短暂的。大家追求不同、想法各异,相处的日子久了,自然再也不会铁板一块了。

  嫌隙最先出在WJ同学身上。他是一个个性突出,爱憎分明的人。心直口快的他,常常抱着不吐槽会死的坚决态度,遇事总会毫不留情讲出最为一针见血的话来。这种棱角分明的石头,最先吸别引人的注意,也最先咯着自己圈子里的人。

  究竟是怎么一件鸡毛蒜皮的事情把我们弄不愉快了,我至今是一点都记不得了。回想那时的情景,脑子里只有一个清晰的图像:夜幕笼罩,灯光昏暗,我、ZY、XYC、QZ四个人跨着单车站在学校机房的门前,一边看着WJ倔强的身影消失在夜色中,一边感慨着“像他这样的性格以后走向社会肯定要吃亏的”。

  现在想想当年真是有点可笑的。那时的我才十八岁,做事的方式和想事情的心态已经俨然一副不惑之年的样子了。那时的我也自然不会想到,我目送并感慨的这个身影将来会是对我影响极大的一个人,也是我未来四年甚至可能是我这辈子遇到的最好的朋友。

  我自认为自己不是一个斤斤计较的人,学校机房前的那件事情也丝毫不会影响到我对其他人的友谊。但客观的说,这件事当时给我造成的印象是,ZY、XYC、QZ这三人组更容易相处一些。

  当然是这样的了。因为另外三个人和我一样,除了人特色之外基本也没什么别的特色了。在这个浩瀚的社会面前,我们过早的看出了自己的卑微和无力,也过早的把中庸圆滑的社会价值观加到了我们头上。

  我和他们不一样的地方是,我似乎更愿意去倾听别人的观点,我也似乎更热衷于打开水和打扫卫生。所以,就整个寝室而言,我基本上是最受欢迎的。

  于是我在整个大一的感觉就是游走于他们五个人之间。在考试临近的时候,我会和三人组一起去附近的麦当劳通宵复习高数,尽管那时我已对什么中值定理、微分积分烂熟于心;和另外两个室友,我们也会一起去逛图书馆淘各种有趣的数学书籍和小说。

  现在看起来,我似乎是一个八面玲珑的坏胚子。但其实不然,我只是一个不愿意伤任何和气的老好人。而藏在这副老好人皮囊下的,只是一个不分主次、不懂取舍的普罗大众而已。

###槛外人

  前面说来说去好像有点忽略小MX了。不过这件事情真怪不得我,小MX是整个寝室里面最没有存在感的。虽然他倒不至于沉默寡言,但对动漫的狂热喜爱已让他朝死宅的方向越走越远。他的存在,完全给我诠释了到底什么才叫做“大隐隐于市”:电话常年不接,短信常年不回,自己的银行卡丢了也浑然不觉;走在路上,常常因为盯着手机屏幕看而撞电线杆。

  可是,就是这么一个神人,在去年浙江发洪水的时候居然给我发了条短信问我是不是安全。看到他那句简单而淳朴的问候,我当时真的有一种“临短信涕零,不知所言”的感觉。一个连自己都不怎么关心的人,居然会来关心一下你,这种不可思议的感动真的让你不知道说什么好。

  但这个社会还是太浮躁了,这么一个完美的死宅加隐士,还是迫不及待的在大一上学期狠狠刷了一把存在感:

  由于长期吃泡面和麻辣烫,他在一个阳光明媚的早上,因为胃溃疡而不省人事地倒在寝室楼道里了。

  这下玩大了,这简直就是在用绳命刷存在感啊,而且还是在考试周。汪峰要是有这般敬业,只怕也早就上头条了吧。

  于是医院送来了担架,系里面一帮学生火急火燎的把小MX抬到医院里。在他住院的这段时间里,我再次发挥了我的优秀美德,每天帮他送饭直到他爸赶来——因为这件事,第二个学期我还得到了班主任的点名表扬。

  但事实是这样的,回家的车票我是最晚的。除了我,貌似也没人可以干这件事情了。而且对这件事情我其实一直愧疚在心的:他有一个亲戚帮他买了些干果,他胃溃疡也没法吃了,这些干果就作为答谢礼物而转手送我了。于是在那个冬天,我第一次尝到了“夏威夷果”清脆可口的味道。

  就送送饭诶,我名利双收,你说我能不愧疚吗?

]]>