Amon's Blog

猛猛如玉

以前提到过,我自幼对文字有特殊的感觉。当然这里的以前未必真是以前,因为提及此的文章写于本文之前,却并未发出。故而读者如果感到疑惑,可理解为我在此确定一个如上前提条件,且是全局性的,前后文皆接受此条件,除非局部重新定义。

因为擅文字,好卖弄,这让不少人知道我是一个有才的家伙,无论真心的 (true) 和假意的 (false) 。但这一点都无法构成我很牛逼,因为 true && false = false. 文字哪怕写的很好,也仅此而已了,既无法让你成为一个数理化很牛逼的学霸,也无法成为一个精通历史政治、能谈古说今的家伙。反倒让你看起来是个多长了条胳膊:往乐观了看是三头六臂,往悲观了看却是在你睡觉的时候硌着背,吃饭的时候恐怕会抢碗筷。

总之这让别人看来一个穿着长布衫扶着圆片眼镜的 nerd :既闷而骚,还能写点文字。这里能写点文字就跟老母鸡能下蛋一样不值一提了,老母鸡就是下蛋的,这也算本事嘛?老母鸡会下蛋,所以干嘛不下蛋?你不下蛋我们便会对你老母鸡的身份重新定义。老母鸡之所以是老母鸡,盖因你会下蛋。假使老母鸡不会下蛋,那么与老公鸡无异,不能称之为老母鸡、下蛋的母鸡。老公鸡见到老母鸡便念叨:下只蛋罢,甭管老母鸡当时是心情不好或是刚来月经,或者刚拉完一泡鸡屎压根没想过下蛋。

因为上述原因加上自己的懒惰,为自己找来借口什么也不干。加上上述原因是借口之一,由此可见我为找借口是不遗余力的。每次决心写点什么,想好一个故事,确定好主人公的名字和关系,然后就放那了。只顾想不顾写。很多年后写代码这毛病再次复发:定义好 variable 和 Data Type,然后就不往下写了。算下来这么多年写下来的东西就是声明了一大摊 Interface 和 variable,不管实现。至于能遗留下来的,就更少了。所以其实可以算我其实什么也没”写过”,只是”想过”。

如果能写文字时写文字,可以姑且算个有才,那么能写文字时不写文字,等到老都再写文字,那么不叫有才,叫自传,写完自是读不到的,别人更不会读到。大家那么忙,自己的一辈子都操心不过来,哪还有时间关心你的一辈子。

那么现在写点什么到底算个什么呢?我想最大的意义便是对我的脑袋之前天马行空的一个交代,因为假使如上所说在能写点什么的时候写点什么,可以称之为有才,而最后我没有成为有才,只是一个普通的家伙,靠不了文字过日子,只能写些abcd123的代码吃饭,脑袋肯定是不满意的,不满意的早晚要造反,为了长久之计还是需要写点什么,尽管上述并不构成因果关系。

如果一只本会下蛋的鸡,一只没下什么蛋,那么最后我们可以认为它忘了下蛋,或者压根不会下蛋,那么它现在下的蛋究竟是些什么蛋,肯定不会是什么好蛋,是坏掉的蛋,畸形的蛋。

此文无特殊意义,仅为下蛋的碎碎念、咯咯叫。

顺便祝自己 25 岁生日快乐 :)

2015 年冬天,某天清早出门。在短促的冬风中听到几声唢呐。
唢呐,大概是最具特色的农村乐器。它没有西洋乐器的雅,也没有锣鼓的闷。它就像老农民一样踏实,从骨子里的有爆发力,安静的在一旁蹲着,没有花里胡哨,没有悦耳和震撼,而它一响起,其它声音便只能当背景。乡下红白喜事都靠它挑起气氛。唢呐大概是比较官方的称呼,我们那里叫它喇叭,演奏者顺当被好笑的称为“吹喇叭的”。

一般两个中老年男人坐在矮方桌旁的木凳上,木色的方桌上放上两个装满茶水的白洋瓷缸,两个唢呐小头朝天屁股着地的摆在桌上,红白喜丧的红布白布缠在唢呐的腰部,静静地立在那里像两个待嫁的姑娘披上了嫁衣。临了,两个男人慢悠悠的拿起唢呐,插上喇叭嘴,鼓起两边大腮帮子,像一只生气的蛤蟆,然后两声噪耳的唢呐声便由方桌上的白洋瓷缸边窜起。

唢呐演奏不是一种优雅的音乐,自然只有乡下人、老农民们喜欢它,当然前提是他们没有听过优雅的音乐。而我口味比较综杂,比如美食喜欢清淡的粤菜,也喜欢味重的湘菜川菜,画风喜欢小清新也喜欢黑暗系,女人喜欢小萝莉当然也喜欢熟女,我对钢琴曲触动心弦,也会被唢呐引起共振。从小开始每逢喜事的时候,我除了看一眼新娘子就是呆那听唢呐,丧事肯定没有人可以看,我便看着别人穿白衣,然后听着唢呐,想象自己心里下着雨。

深圳现在没有人穿白衣,有也是穿着白衬衫、白T恤,自然与丧事也算不上什么关系。但是不远处天桥上缓缓挪动的人群,倒是很像送葬的队伍:沉默,肃穆,每个人都面无表情的挪动着。不同的是这群人没有人举招魂旗,没有人抱遗像,也没人带头哭着。我萌生一种想法,如果有人带头哭,会不会其他人也会跟着哀嚎。不过这个想法经过简单的辩证后给出No,因为有人晕死撞死猝死无名死在路上,人们都懒得送出一眼关注。每个人都活在自己的套子里,街上的路人都是NPC而已,说不定都开启屏蔽开关了呢。

说起来,作为一个乡生土长的农村人,距离最近的县城区也得百十来里,从小自然便对城市和城市人有着特殊的看法。在我看来,城市与农村最大的区别就是钢筋水泥是城市的基本元素,土地与树木是另一个的基本元素。城市像远处的城堡,高大壮观,阔气无比。有着下雨不用穿雨靴的柏油马路,穿个鞋子一月半载也不会沾泥巴点子。有高楼大厦,虽然不知道那么高的盒子里有没有住人,不过想想睡在几十米高的空中,应该感觉不错。有满街的铁壳子汽车,走上几十里也可以不晒太阳不淋雨不出汗。有西装革履的男人与浓妆艳抹的女人,还有操着一口普通话分不清麦子和韭菜的小孩。他们的天空没有晴天的白云蓝天,没有阴天的雷雨闪电,想想应该只会有一座座面面相觑的盒子楼。

当然盒子楼不是我梦想的去处。一座两层的小楼,菜园,院子,门前可以看到田野和四季,厨房屋顶上伸出来烟囱飘出来的跟天空一样蓝的炊烟,这些本已经实现的就是我的去处,我也没想着离开。直到上学、毕业、上学、毕业、工作,跟挤火车站似的被人群裹挟着往城市奔去。如果你不往前挪动,肯定周围的人会伸手掐着你的脖子问你为什么在这磨磨蹭蹭。

“走不走啊?”… “请让一下”… 原来我已经走到天桥上了,周围还是那些陌生熟悉的送葬者的面孔。再往前走时,看到一个衣着破烂的人坐那吹着唢呐乞讨,曲子诙谐的是“小苹果”。

我意识到深圳大概不会有吹着唢呐的送葬队伍,甚至大概不会死人,死人显然不符合城市的气质。农村会死人,城市只会活人。

2005

十年前,2005。
回望过去总是容易的,哪怕十年,也只像过场动画一样,一帧一瞬间,一瞬间几年。

时间是个奇妙的东西,当我们人类的生命以几十年计时,动物是几年,蚂蚁几天,更小的细胞或其他生物以几秒甚至毫秒微秒乃至人类不能想象的单位计算。而高山,海洋,地球,宇宙的生命则是亿万年。而十年,不多不少,正好是我已有生命的五分之二。

高一

生命中每一段新的旅程都像长大,上幼儿园、升初中、上高中、读大学、找工作。
我仔细想想,这么些年一直像只风筝,与故乡一点点飞高飞远。以前还能近近的的看到故乡的模样,再变成只能看到远处的影子,再后来只能遥遥的看到故乡缩小到看不见的一个点,而现在只能看着身上那根线,只有它还提醒着我还有归途,而不是断线的风筝,飘到哪里就是哪里。

飞得越远,越会害怕,不愿承受回线之苦,落地之痛。所以读高一那年离家100里的时候。感受不到故乡光环,在学校就仿佛一只蔫瘪的皮球,怎么都蹦哒不起来。

冬天

信阳恐怕是不多的四季如此分明的地区之一。春天如褐灰色春天中的一束发芽的杨柳,夏天像葱绿色夏天中远处的一抹白墙,秋天如青黄色秋天的一碗碧蓝天空,冬天像银白色冬天中的一处红房。

信阳的冬天不如北方的冷,浑厚而严实的冷,扛着四层面棉袄方能御之,窝在四层棉袄中艰难度冬。也不如南方的冷,咸粘而闷湿。信阳的冷正如它自身的小江南气质一样,婉约而小巧的冷,太阳出来时温度便温暖如春,太阳下去时又细冷刺骨。

阳光

记忆中的冬天大多都是充满阳光的。冬天的太阳犹如一颗未煮熟的蛋,所到之处都遍布着意犹未尽的鸡蛋味和似黄既绿的颜色。

宿舍

乍上高一时,搬去的一个临时搭建的平房,低矮潮湿、终日不见阳光,大白天还要开着仅有的发黄白炽灯,像一间监狱的地窖。还没穿了一周未晾干的内裤后,搬去了相对高大上的对面办公室楼某间办公室当宿舍。雪白的墙壁,光滑的米白地板,电棒的白光把宿舍照的像一个购物中心。感觉像从棚户区走进了对岸的CBD。

绿色玻璃

CBD一定少不了玻璃。玻璃是现代建筑中的一个重要组成部分,无论城市还是农村。农村居民楼的二层喜欢用上一排绿色蓝色玻璃,高档的商贸大厦也同样外面裹上一层玻璃。砖头为里,玻璃为表。宿舍同样每一层也用上了玻璃,当然对于一个县级高中来讲,这个建筑风格明显是农村风格。

正下午,两三点的阳光透过绿色玻璃打进大楼的走廊里,在地板上再弹到宿舍内银白的天花板上。行走在走廊上会有一种穿梭于光与影,漫步在true and false之间。

洗衣服

当然穿梭漫步的时候,手里提着水桶与盆。住校的冬天一周洗一次全部衣服,就是周日下午此时了。把水龙头放到最大,水激到生胶的桶底上,发出敲木头的声音,化出很多泡沫。有大太阳的时候,水管放出来的水也不会很冰凉,不然手一接触到水就像泡在硫酸中一样,刺的谷骨子里疼。由此证明记忆中那一天确实是晴天,并且太阳很大很厉害,大中午晒得人不敢暴露在太阳下面,只能在太阳地和阴冷的没太阳的地方转来转去。

三两人群

这时候到处都有来来去去的人,刚吃完饭上来的,准备洗衣服的,有到处转转的,也有一些莫名其妙的家伙,反正做着无关紧要的莫名其妙不规则未知轨迹运动。透过窗户能看到操场上漫步的三两人群,时不时蹦哒的打球者,穿梭于宿舍教学楼小卖部的人。

江南

学校的广播永远都是循环播放几曲永远耳根烂熟但是不知名字的音乐,或者一些烂大街的通俗流行曲,譬如那个冬天的《江南》。歌曲开头的呼呼风声也算给那个温暖的冬天吹来不少南方的暖风。一群“不懂爱恨情仇的我们”听着这歌来到了一座座低矮建筑的小镇,小河,和风,乌篷船,斗笠,花伞,穿着旗袍扭着屁股的女人,锃亮的木门。当然还有永不换季的春天。

春天

春天像小孩蹿起来的身高,父母弯下去的肩膀,不知从什么时候开始,也不知何时会真正来到,就这样躲在冬天的后面悄悄的来了。三四月时信阳的大街小巷会同时刮着西北的阴风和东南的暖风,走在太阳底下暖和如春,走在荫凉地下又阴冷似冬。这时候人们有穿着秋季换冬的衣服,有穿着冬装,也有穿春装,唯独我每次早早的换上短袖,怕不能更早的拥抱夏天。三四月时,穿着短袖走在信阳的大街上会有一种清冷的感觉。路上行人会对你投以为你披上小棉袄的温暖目光。街边的商场里面一遍遍的播放《江南》,和三四月的春风,路两旁的梧桐树,穿着春夏秋冬装的人们,靓丽的女孩,与帅气的我,奏成了我青春记忆中最后的信阳印象曲。

南方

在我印象里,南方一直是一座神秘之都,它没有具体的省和市,只是一座四四方方的城,无数的人奔赴于此,把青春与汗水挥霍在前,把家庭和故乡抛诸在后。等到在城里炼到头发白了背也驼了眼也花了,便要从城里被挤出来,回到北方去。南方就是一个铁与石的机器,把千模百样的人们倏的压成四四方方的一块人肉干。管你腰缠万贯还是响叮当,都只剩下屎尿屁。

20岁前一直梦想踏上南方这块土地,看看是不是此地的人们是否如同活在电视上,看看南方和北方是否两个世界。等到时速100多km的火车渐行渐远时,除了一路上渐渐茂盛的树木,房子越建越小,坟墓由等腰三角体变成沿着山坡挖的小洞外,大江南北居然没什么刻意的变化:既没浓烈的风土人情,也不会陌生到让我思念家乡,除了周围换成一群群陌生独立的脸。确实陌生,因为人口一千多万的深圳,我熟悉的人为个位数。

不想结束的结束

信阳,一个旧相识女孩,谈过爱恋说了再见;南方则是一个浓妆艳抹的女人,浑身散发着炽热的气息,一举一动都显得撩人心扉。终有一天,趴在她一对36D的肥乳上,会对刺鼻的奶油味感到绝望,转而怀念起那个简单的洗发水味道。

而心中的江南,也化作五月春天。


#### 后记 写这篇文章的灵感源于再听到江南这首歌,写作时也反复播放当作背景音乐。起笔时还是2015,落笔已是2016,因为文思泉涌中途陆续写了几篇文章,挖了几个坑,有的填了,有的没填,有的随便乱填。这篇文章也是堆积很久,最终匆匆结尾。

最近的写作于我是一种发泄,发泄脑中喷薄郁积的想法、回忆和吐槽。

最后,谨以此文献给十年前的青春,和那个五月春风拂面的信阳。

致妻

乙未年三月六日作

冬末朽木离别寒,

夏初嫩草换新颜。

五月和风起池浪,

桃花丛里嬉KeRan。

  • 旧文新发,原作于 2015 年 3 月 6 日 • 深圳 。

  • 2015 年 2 月 24 日(冬)别离妻女返深,预计 2015 年 5 月 1 日(夏)再回信阳。

  • “KeRan”:小女。

8月份的时候有个需求,需要将 iOS 项目持久化构建,方便将打包上传安装程序的工作从开发人员手中脱离出来(关爱猿类、解救开发)。

需求来了,就简单分析下,实现这种需求需要以下两步:

  1. 自动编译打包,而不再是在 Xcode 中编译打包(xcodebuild, [xctool](https://github.com/facebook/xctool))
  2. 将 ipa 包上传到服务器或者 Fir.im / Pgyer 这种托管网站供下载

除了自己写脚本实现外,也有一些成熟的方案,如 Jenkins

先放出最终 OK 的的方案:

1. 使用 [Jenkins](http://jenkins-ci.org/) 从 Git 上拉取代码
2. 使用 [Fir.im CLI](http://club.fir.im/topic/54f3d26074c4c85e73e4ac14) 提供的打包程序进行打包和上传

说干就干,

  • 安装 Jenkins(具体过程不赘述,网上一票)
  • 打开http://localhost:8080/启动 Jenkins
  • 安装Xcode integration,GIT plugin,Post-Build Script Plug-in,GitHub plugin四个插件(使用 Fir.im 的 CLI 可不需要安装 Xcode integration
  • 新建一个项目,录入基本信息,Git 的地址与分支
  • 增加构建步骤 -> Execute shell:

    fir b 项目路径 -w -S Scheme名称 -p -T Fir.im API Token

  • 保存构建即可

当然这只是百般折腾后的得出的正确路线,因为项目是集成了 Cocoapods,所以遇到不少网上没有的坑。

最开始我在构建步骤里面添加了 Xcode 相关的信息,结果每次构建都会一直卡死在某个进度上。多番折腾下,仍然未果,因为项目进度与考虑到无 OS X 服务器可以用来构建,无奈放弃。

最近比较闲,再个 OS X 服务器也摆那有一阵了,手痒便折腾了一下。

这次依然遇到那个卡死的问题,我尝试了只用 Xcode 构建步骤,也尝试只用 Fir.im CLI,均有各种错误。后来尝试先脱离 Jenkins,直接本地编译。遇到以下几个坑:

我的命令是 fir build_ipa ${WORKSPACE} -S MyApp -o ${WORKSPACE}/build -w -C Release -t MyApp -n myapp

  • 还是卡住,尝试去掉 workspace 路径和 Target,变成fir build_ipa -S MyApp -o ${WORKSPACE}/build -w -C Release -n myapp
  • 运行后不会卡住,但是报了error: couldn't create directory /build: Permission denied. Failed to create temporary outfile '/build/MyApp.app.dSYM.tmp%%%%%%.dwarf': No such file or directory错误,已经好很多了。继续简化步骤,索性直接前往项目目录下,然后使用fir b -w -S MyApp,结果居然 OK 了。
  • 继续在 Jenkins 中折腾,删除 Xcode 的构建步骤,然后在 Execute Shell 中使用fir b 项目路径 -w -S Sheme名称 -p -T token
  • 报 Cocospods Lock File 错误,可以手动pod install一次,也可以将 Lock File 同步,这样就可以避免这个问题。

最终解决!回望整个过程是折腾的, 不过有几点可以记住:

  • 项目 clone 到本地后,先在 Xcode 中编译运行试试,有问题及时解决
  • 在命令行里面试试编译、打包,看是否正常
  • 上面都 OK 再在 Jenkins 这种集成平台中集成

全文完。

2015的夏天走的晚,直到现在夏意仍然未尽,门外有的树叶还显得碧绿,野外田地里油菜和小麦刚长出翠青的苗,屋旁的菜园里的青菜更是盎然生机。

信阳的秋天早就来了,到现在也尽显秋意。杨树叶落得落,黄的黄,在泥土地面上盖住一层层,光秃秃的树枝指向雾蒙蒙的天空。柳树条则光条条的仿佛一根根老妇人枯瘦的手指,即使无风也总是颤颤巍巍着。

冬天来的也早,这次回来的几天,也算是过了几天冬。不刮寒风不下冷雨单是靠着几度的温度把人冻的厉害。走在路上,唯恐不能盖住身上每一寸肌肤。戴上帽子仍觉得冷空气从面颊两侧灌入脑后,直感觉像走在诺森德冰天冻地、漫天飞雪的大陆上,戴着阿尔萨斯的寒冰王冠。

在这冷空气遍布每一个空间的秋天,忽然听到爆竹的响声。在这不年不月的时候,一般乡下是安静的出奇的。能听到的也就是偶有的不明狗叫与妇人的呼喊声。而这时候的爆竹声,无疑是哪个村子的红白喜事。

爸随口问我:杨X村有你姐同学罢?叫什么。

我大概一想,似乎有叫杨X与杨Y的。答:杨X?

爸说:他老头死了,杨元Q。

我还没细问,但见母亲大人那凌厉的眼神。大概不让讨论这不吉利的丧事。此话题便提前结束。

待一个人时,脑里想起这个杨X/Y父亲的离世。杨X的可能性大些,一是他单是我姐的同学,并不同时是我的同学。如果是,我爸会说你同学杨XX的父亲,而不绕路说我姐的。二是杨Y的父亲似乎不叫杨元Q,经过我的仔细回忆应该是叫杨元P。三是我已经幻想了杨X丧失父亲的悲痛模样,实在转换不了把悲伤的杨X变成哀痛的杨Y。这大概是思想的偷懒,或者谓之自欺欺人。

可是不管怎么说,杨X/的父亲是死了的。之前很想知到底是X还是Y,可是后面明白XY都不重要,重要的是一个意气风发的年轻人,在生命最好的时光,突然丧失了父亲。而这个年轻人,恰好是我姐的同学,同时是一个地方的,所以听到了他家的葬礼爆竹声。重要的是一个老骥伏枥的中年人,一辈子闯南走北,把儿女养大,正准备歇下来享受儿孙绕膝之乐,突然的就去了。所以我刻意的不去想是X还是Y,害怕得到它的答案。

杨XY是学习很好的实力派,那时与我这种天赋派成为对比。我们觉得他们是愚不可及,用生命在学习。他们觉得我们是投机取巧,不可长久。但彼此都对对方有敬畏之心。

而他的父亲,我未曾谋面。他可能是一个结实的庄稼汉,也可能是在外谋生的一个老板。年轻的时候挑水库,挖水塘,掘水坝。后来种田地,犁田耙田,撒种子,插秧,割谷,挑草头,堆草垛,打谷。忙碌的身影春夏秋冬不断的闪现在田野上。流出的汗水洒遍每一条小路上滴进他家的土地里。后来慢慢的村子里时兴出外打工。有去北京收废品的,有去南方进厂的,有去江浙拉货的,也有去大西北磨板子的。他也步入了这一洪流,在外地打工。一年只有农忙时和过年才会扛着大包背着小包拎着两包拖着一化肥袋,满载着回家的期盼挤上洪水般的人流火车。包里有给孩子买的新衣服,玩具,捡来的新奇玩意,外面老板不要的给他的旧衣服和旧玩具,买的吃的,外面见过的家里没见过的水果等。塞的满满当当,鼓鼓囊囊。回家后,看到年幼的孩子,消瘦的妻子。大半年在外的劳累,都付诸咧嘴一笑。1990,1995,2000,2005,2010,2015…二十几年转瞬即逝,曾经呆的城市天翻地覆,刚来落脚的工棚也早已建起了高楼大厦。老家也变化很大,家家盖起了两层小洋楼,买了洋车代步,村子前都修起了水泥路。而那个年幼的孩子也已变成大姑娘小伙子,就像昨天的自己一样。就连当初梦寐以求才娶到的青春靓丽的妻子,也体态渐渐臃肿,乌黑的长发渐渐被岁月染上点白色,水灵灵的皮肤如今呈黄黑色。

2015,人生大概第十个五年。这一年,是五十年来再普通不过的一年,相比十岁时的在贫苦中作乐,二十岁的在清苦中劳累,三十岁拖着家里家外中奋力直前,四十岁子女初长成、家业稳健,五十岁实在是平淡无聊的一年。这前后,儿子工作几年,事业初成,娶妻生子,一切都显得顺其自然。老婆给儿子照看着孙子,自己也想着回到老家了,等把这两年的账清点完了就打道回府,开个小百货店或者卖个水果,没事就去村子后面转转,看看当年挖的水库、修的路,栽过的树。看看20岁时的自己的那个世界,与50岁自己的这个世界,进行着激烈的时空交错,而迸发出的火花,都是这几十年的记忆碎片的光与影。

这一年的11月,夏秋冬三个季节联奏着准备送完最后的2015。在这个人们都不想外出只想守着老婆孩子热炕头的时节,他突然走了,没有一句叮咛嘱咐,突然潇洒的去了。杨X/Y从遥远的城市接来家里的电话,像往常一样:

喂 妈

X/Y啊,你快回来,你爸……

我爸怎么了

你爸走了……

……

买票,坐车,离开这个他熟知的世界,这个他还有个遥远的爹的世界,这个丝毫感受不到悲伤的爹,去往另一个世界,阔别已久的旧世界,那个一直有爹的世界。像从热被窝里掉入了冰窟窿里,两个世界。

回到家,这个秋天,真冷。大概再不会有这样冷的秋天罢。熟悉的老房子前泛起了久违的热闹,忙碌的身影穿梭于屋前屋后,他想着父亲已经撒手西去,再看着眼前这幅景象,觉得很荒诞,他嘴角咧了起来,他想笑,亦想哭,哭哭笑笑。到家后他急寻着母亲,和父亲,见到母亲后便被带着去入棺的父亲。深红色的棺木里静静的躺着他熟悉的父亲,身上花绿的寿衣像参加一场盛大的节日。

阴雨连绵几天,浑浑噩噩的几天,事情总算办妥。终于要返程,回到那个乍离的世界,这一去一回,父亲也没有了罢。再去的世界,和几天前的世界,是否是一个世界。或许那个世界,根本感受不到他的一丝悲伤。被窝已不是被窝,冰窟窿还是冰窟窿。临别前,看着从未如此瘦弱的母亲,他心如刀割血直流,恨欲从此烂家里,任它雨打风吹去。

临行前,杨X/Y最后一次去后院田地上的坟前,冷风刺骨。遍布丘壑的田野有的光秃秃,有的种上了小麦和油菜,有的只是野草,有的还是上次的播收后未经翻土处理的田地。新坟孤伶伶的躺在那里,听着秋风歌,看着雾蒙蒙的天空和暗黄的田野、零星的村落,淋着秋雨,吹着秋风。

他走了,带着身上残留的秋意。远处的坟边的田野上,枯黄的叶草凋落着,而泥土下面的草根,正等待着明年的春天。他想着,笑了。

接手了他的项目后,

心里总会感觉怪怪的,

因为他前阵子过世了,

因为过劳。


现在我每天都会很忙,

有时候,

读到他写的代码,

思考他的逻辑。

思考一个死去人的逻辑,

揣摩一个死去人的想法,

这种感觉真的很奇怪,

就像深夜在深山老林的山路缓行:幽冷而又孤独。

就像触摸一个死人的身体:冰凉屏气。


每当这个时候,

脑子里不自觉的想起他,

他和我以前一起上下班,

一起喝酒,

一起讨论项目问题,

每写一会代码,

都要想起他。

甚至想起他临死前的情形,

虽然我并没有见识过,

可是它却像真实发生的一样:


在一个深夜,

这夜天很黑,

无星无月,

风呜呜吹。

他一个人挑灯在公司奋战,

大楼里早已人去楼空,

走廊里的灯也黑不见物。

同事们早已下班,

他只打开他头上那个灯,

昏暗的灯正好只照亮了他周围的一块。


他在写代码,

是的,

此时无关这个世界,

他脑中只有项目的模块还有哪些没完成,

他手下只有 26 个字母 10 个数字和符号,

他心里只有赶紧弄最晚 2 点要回家不然明天没精神继续 coding 了。


键盘嚓嚓,

他觉得有点口渴,

时间是 9:41,

他脑子终于下达命令让自己拿水杯喝水,

时间是 10:24。


键盘嚓嚓,

他手机来了推送信息,

时间是 10:30,

他拿起手机看了一眼,

是他定的睡眠闹钟提醒。

时间是 10:38。

他规定自己 10:30 要睡觉,

尽管他从来没有遵守过,

但他根本不打算删掉这个闹钟或者调整时间,

因为他相信总有一天他会严格遵守它。


键盘嚓嚓,

他突然想起了隔壁住的女孩,

头发很长,

笑起来很美。

时间是 10:47。

他继续写着,

这个模块快写完了,

这段代码要不要优化一下,

优化吧,明显看起来不优雅,

优化个啥啊,时间不多了得赶紧写完回家。

优雅?像她那样?

又想起了隔壁那个优雅的女孩。

前天早上出门的时候正好碰见她出门,

她看了他一眼,

持续 0.4 秒。

想到这里,

他的嘴角弯了。

时间是 10:54。


再定神时,

他责备自己不该写代码总跑神。*(Stinger: 我定神再写时,已是 17 个月后的 2015 年 12 月) *

沉气写完一段逻辑后,

他边打上分号边低头扫了一眼显示器右下角,

时间是 10:58。


整理一下思绪,

他吁了一口气,

竟感觉有些饿了。

是的,他夜晚在楼下快餐厅匆匆吃完便上来工作了,

连打的紫菜汤都未来及喝上几口。

他本想坐在窗前趁着吃饭时看看夜晚的城市,

他得有半个月没有好好吃饭了,

没有好好的看看白天的城市,

看看夜晚的城市,

看看行走的人群。

仔细想想上一次好好吃顿饭是上个月,也可能是上上个月时去同学家里蹭饭。

毕业时一起十来人说好要在这个城市当主人,

如今回老家、换城市只剩下他和另外两个同学。

自己勉强留下来,

却也战战兢兢地呆着。


同学的一家子在一起很热闹,

有家的气氛。

家,他的家,

在一千两百公里外。

两站路外的那个一室一厅,

是这个城市属于他的地方之一。

另一个之一是现在头顶灯光刚好照的位置。

尽管认真说来这些并不属于他。


操,他小声的骂自己。

又跑神了。

他不总是这样容易跑神。

白天上班时,办公室熙熙攘攘,

他总是专注的写代码,

即使偶尔跑神也很快被同事们的交谈声和办公室此起彼伏的手机通知声和键盘声打断。

今天这么安静,

他倒是很容易走神了。


键盘嚓嚓,

他迫不及待的想给这个模块收尾了。

这个模块写了三四天了,

像这样的模块,

还有几个。

他喜欢这种有事做的感觉,

这种被需要的感觉。

他喜欢开发一些新功能,

像打一场硬仗。

搭好架构、定义好接口,

就像排兵布阵、运筹帷幄,

具体的实现时就像硬弓硬马、真刀真枪,

策马平川、气吞三军,

完成一个模块犹如征服一块领地,踏平一座山。

他喜欢这种编程像打仗、血战沙场、戎马生涯的感觉,

每每兴致所至,无不有一种提刀上马的冲动。

如果生活也只有铁与血这么简单就好了。

一股热血涌上胸腔,

他不由得由倚在椅子上挣扎着坐正,

时间是 11:19,外面风声正劲。


*未完待续...*
  • 老文新发,原文于 2014 年 7 月 24 看到一帖《 假如一个码农突然出意外去世了,你们觉得接手他写过的代码是什么心情?》后有感而发。
  • 2015 年 12 月 16 日 续作。

说白了,人生就是一场马拉松。
起跑的时候你跑的快了,爽了,舒服了。
跑了一会摔了一跤,被别人赶上了,然后你就开始自怨自艾,觉得这个比赛就完了,人生就没有希望了。
在你不断的痛苦与抱怨时,比赛也在一点点的进行。别人都在努力跑,而你还停留在抱怨之前的时候摔那一跤。你还在落后,你还在抱怨,觉得自己之所以落后是输在摔那一跤上。
你失误了从前,又忽略了现在,更放弃了未来。这场比赛,你还想玩么?

我们不能用微观的眼光去看这种事情,应该站在宏观的角度上。现在苦点累点,等这一段时间过去了,它们都将成为记忆中走过的一条湿漉漉的小路。虽然走时泥泞不堪,当你走完再回头看时,尽是阳光灿烂。

李:你这么能说,为什么不去做销售。
余:不去。
李:为啥?
余:我去了,那些销售人员就要失业了
李:[挖鼻孔]
余:我想把这个世界上最聪明的脑袋留在工地,建造出一栋栋摩天大楼。
李:你装逼。
余:装逼只是我的一个副业。
李:主业是啥?
余:搬砖工。
李:去屎。
余:不要把我想的多么高大上,其实我只是路边一个小小搬砖工。
李:其实我一直认为搬砖是一个高端的职业。
余:搬砖没有高低贵贱,搬砖只是搬砖。
李:工资来的快拿的高。
余:搬砖不为工资,搬砖只求内心的平静。
李:累岔气了,还能平静。
余:越累越平静。
余:不管累还是舒坦,不管搬砖还是指点江山,永远追寻内心的平静,这才是人生真正的奥义。
李:我曾经认为X是我精神世界的挚友,后来遇到你,我发现我错了。X只是一个能和我一起挖臭缠子的人,唉。
余:红玫瑰与白玫瑰嘛。

0%