寂静山林

思绪飘来飘去,偶尔在这里停留

收拾阳台,又瞥见了阳台角落那颗已经长到巴掌大的落地生根。由于缺水,缺肥,宽大的主叶长得皱巴巴,扭曲着,一副营养不良的样子,叶子边缘零星挂着几颗小芽。

这颗落地生根,来源久远,远到我快忘了它的存在。大概12年或者13年,跟老婆去漓江游玩,在一个狭小的小巷的墙头上看到了几颗落地生根,第一次见到这种靠叶子繁殖的植物,真神奇,于是就带了几棵小芽回来。扔在一个小盆子里。

那个小盆本来种着一棵含羞草,那是一次老婆说公司附近的绿化带出现了很多含羞草,于是在一天下班后,绕道那一片绿化带,挖了一棵回来种着了。

那时一个人住在翻身路一栋出租屋的小房间里,那个房间很小,有一年,小学初中的同学辉带着他哥来深圳出差,还在那个房间打地铺了好几天。进中兴前的上一家公司跟老板闹翻了,他派了两个同事跟我回到那个房间,说要看看我有没有拷贝公司的资料回来。我带他们看了,大家都知道,走个过场而已,于是很“默契”的在房间里喝饮料聊天。

漓江回来不久,就搬去老婆租的地方住了,搬家那天,房东过来收房,老婆在楼下等着,本来以为很快,结果房东指着阳台旁边的小厨房墙壁说,你得把这个墙壁打扫干净了,我说我都不煮饭,这又不是我弄脏的,租来的时候就这样。房东不信,那算了,就打扫把,结果花了半个小时,还没打扫完,老婆等不急了,打电话问怎么啦。我当着房东的面说,房东很爱干净,我得把房间打扫干净了才能走。最后也不干了,房东扣了一些押金说要请人打扫干净。我说你早说嘛,害我还整了这么久,这不是浪费我时间嘛。气愤的拿上那盆植物走了。拎着几个包,几个盆子和那盆植物上了地铁,有人好奇的问,搬家还用地铁啊。搬家用地铁很奇怪吗?

老婆跟她的大学同学艳在一个老小区租了个两房一厅,艳很喜欢运动,经常打羽毛球,身上的肉都是紧绑绑的感觉,那时她刚开始学吉他,于是每天晚上都得忍受着噪音,后来又喜欢上用醋泡脚,于是除了噪音,还得忍受刺鼻的酸。这都还好了,结果发现这两女生都很懒。厨房的灶面和墙壁是一层层厚厚的黑色的油,地板是黑色的。洗手间地板也是黑色的。马桶在后来我洗干净前,我一直以为它原来就是黄色釉面。没办法,我还是有点轻微的洁癖。实在看不下去。一个周末花了一天时间,把厨房和卫生间清理干净。她们看了说,哇,厨房搞这么干净,都不敢用了。不禁哀叹,以后家里也别指望有人收拾了。

搬过去后就把那盆植物扔在了阳台边上,那个房间阳台挺大,对着南边,一天到晚都能晒到太阳。有一天发现,含羞草不知道什么时候枯死了,落地生根却长成很大一棵,每个叶子边沿密密麻麻的长满小芽,有些落到盆里的小芽也生根长出片片叶子。

艳住的房间大一些,我和老婆挤在小的那个房间里,有段时间,喜欢上胆机,从网上买了电子管套装和木质音箱,从华强北买了一对惠威的高保真喇叭。每天下班回家就趴在小屋的地上焊接放大器电路。有天忙到了深夜,终于把声音调出来了。寂静的夜里,蔡琴的《渡口》从两个音箱中,轻轻的飘荡出来,弥漫在小小的房间里。惬意的坐在地板上,靠着床边,搓着手上沾着的点点松香。老婆被吵醒了,带着睡意问:“搞好了呀?”。我说:“音质怎么样”。“挺好的呀”。电子管发出淡淡的黄色微光,和着轻柔的乐声荡漾着。

新房子要装修那阵,跟老爸念叨着要不过来帮忙看看,怕装修师傅乱搞。结果没两天,老爸就决定过来了,跟我们说的时候已经从老家出发了。老婆手忙脚乱的在新房小区隔壁栋租了个一房一厅。手忙脚乱的收拾东西搬过去,临走前,看着那一大盆植物,犯愁,最后一狠心,不要了,掐了几棵小芽带走了。

网上买的床还没到。前几天都在打地铺。只有一个房间,老爸就睡客厅。每天他就去新房看师傅装修,每天给师傅递烟抽。似乎有点效果,师傅们跟他关系都挺好。老爸住了没几个月,却跟小区管理绿化的大爷成了朋友。也许因为都是干农活的?真有意思。

老爸其他方面没有什么意见,却对大门安装的日期极其执着,我说一个门而已,什么时候装不是一样的。他就不,一定要在某月某日某时才能安装,还拿出那种算日期的书来给我看,什么是吉时。好吧,人总是生活在自己的世界中,我以为让他出来看看,也许能改变些他的观念,看来这个很难。为了这个时辰跟卖家沟通了好几次。最后总算如他所愿在他选定的时辰安装上了。

临时租的房子窗户朝东边,但前面都是高楼大厦,一天到晚都照不到阳光,带过来的几个小芽很快又长大了,盆子小,把其他的都拔掉了,留了一颗。扔在阳台角落。平时基本没注意到它的存在。

因为怕新装修有甲醛,后面新房装好后一直凉着。一直住在这个小小的房间里。

有一天老婆在厨房炒菜,放菜时,滚烫的油溅起来,把她的手掌烫得通红一片,老婆哭的撕心裂肺,梨花带雨。赶紧给她拿冰块敷,涂从香港带回来的曼秀雷敦软膏。还好处理及时,没有起泡。

老爸不会自己做饭,每天中午,在中兴食堂吃完午饭后,还要带一份回来给他,顺便在家里睡个午觉。刚开始还没什么,久了觉得有点烦,老爸估计也感觉出来了,房子刚装完就急着回去了。

一天我在房间,老婆在洗手间突然尖叫了起来,我赶过去,看到她手中白色孕棒上面那两道鲜艳的红杆。心里有一丝的慌张,也有一丝的窃喜。老婆哭丧着脸,用手轻拍着我的脸,焦急的问:“怎么办,都是你,怎么办呀?” “能怎么办,生下来啊”我说。

找了个时间,去南山婚姻登记处领了证,买了一堆糖和几百个小红袋子,晚上两人将糖果分装到小红袋子里,第二天带到公司分发了。

未完待续

又过了一年了,4s店给我打了无数电话,烦不胜烦,趁着今天有空了,把车开过来保养一下。

这一年开的很少,估计都没几百公里,但该保养的还是不能少。车真的是纯消费品。

早上桃子还在叫着,要跟爸爸来修车,上次带她来,她还记忆犹新,估计觉得很好玩,还想来。但没让她来,因为她要上课,最近她都在上课,蹭社区免费的课,每天上午在一个社区上,下午再换个社区上,忙得姨妈都有意见了。社区的课,大部分是重复的,估计也就她那一帮小朋友热情比较高,主要是那一群老奶奶,老爷爷,没事做,有课他们就提前预约好了,有时他们没去,老师还会打电话,人凑不够啊,赶紧来。大概对双方都有益吧。

老婆说,对小的太不上心,当年果儿这么大的时候,花了4万多报了早教课,每个周末都要开车两人陪着去上课。也是那时发现果儿对数学比较擅长,但是除了这一点,似乎没有收获什么,也许有潜移默化的影响,只是不知道而已。老婆又说,妹妹比姐姐还忙,姐姐那时一周只上一次,妹妹每天都要赶两场。但是那是一样的吗,昨天听桃子说,她上了英文课,是个外国老师教的,但是她一句都听不懂。突然有点点愧疚感,是不是对小的太不够上心了?

最近终于做回老本行了,开始写那个芯片的应用程序。本来想自个儿重新实现一个,搭了两天框架,突然觉得不大对,如果自己写,一个耗时长,二是所有的坑估计都得再踩一遍。于是改变策略,手上已经有一个别人维护了好几年的源码,至少基本功能是没问题的。除了已经发现的一堆bug,唯一的问题是,这个程序是以事件为框架写的,在pd这种几百个状态的应用中,居然以事件触发为中心,不知道设计这个程序的人是怎么想的,还是说他根本就没想过这个问题。这样导致一个状态中的处理逻辑分散到几个十几个状态事件处理逻辑中,程序极难维护,本来清晰的状态逻辑变分散,bug很难定位,没法根据使用场景裁剪代码,没法添加新功能。

唯一的好处是他经过了几年的维护,至少一些坑都堵上了,凭这一条,也值得努力下。要用它,就必须先重构,把事件为中心的架构调整为状态为中心。刚开始还在虚拟机中一个函数一个函数截屏,让ai分析代码,给个重构的版本,对比后在虚拟中重写,搞了两天,实在烦死了。效率极低。让项目经理把对方给的原始版本发一份给我,我在外面直接连上ai整。这下效率高多了,但是ai还是不太让人放心,所有生成的代码还得逐个比对。也确实发现了一些问题。现在发现问题总比后期
调试时发现问题,再一个个找bug好多了。

一些小函数的重构,ai是完全能够胜任的,但涉及到这种系统级别的重构,其实很多边缘的逻辑它也会遗落。所以只能慢慢比对了,有时让两三个ai互相验证结果。保证尽量正确。

昨天将vscode直接连上deepseek V4的api。一个下午,重构了几个函数,居然花了我快20元了,用不起,用不起。关键是一个同事跟我说,他也消耗了跟我差不多的token数量,只花了2元多。这,ai收费也对人分三六九等了。

出发之前,我是带着目的去的,第一天开营的时候,我就说:“其实这次,我是带着一个目的来的,来之前我跟自己说,把一切留在风沙里,人生总有一些遗憾或不如意,希望通过这次的历练,可以把不好的负面情绪留在风沙里,可以有个更好的心态迎接往后的生活”。

我相信历练可以升华精神,是因为曾经有过这样一次经历。十几年前,曾经有一段时间很是迷茫,不知道为什么生活是这样的,不知道活着的意义,于是花了两个月时间,骑着自行车,从大理到丽江,到香格里拉,到拉萨,到珠峰脚下。一路走来,见过了太多壮丽的山河,见过了太多虔诚的朝圣人。笑过,气过,哭过,气馁过,绝望过,欣喜过。然后,到达珠峰脚下的那一天,突然就释然了。看淡了很多执念,接受了平凡的自我,接受了随机的世界。

所以我就带着这样一个目的来了,结果却有些出乎意料,精神层面并没有多大的提升。也许人生经历了太多,已经过了需要通过历练身体来完成蜕变的阶段。也许这次拉练的强度还不够大,不足以到能触发精神反思的程度。

但却意外发现自己体能这些年提升很大。所以我把这次的戈行定义为发现之旅。

第一天34公里,其实我是没有放在心上的,来之前的最后一次准备,20公里我都可以跑跑走走下来,配速7分多,所以我一直对自己说,大不了前面20公里我多跑跑,后面走慢点就是了。

过了半程后,我这个娇贵的肚子也许因为水土不服,又开始闹腾了,加上没有经验,到30公里时,双脚开始抽筋,只好强忍着一步一步挪到终点,所以第一天走得算慢的了。总结会时我说今天基本是极限了,后面几天要走慢一点。

晚上我先找医生要了一些治疗闹肚子的药,又请教了几个老戈友,我最担心的就是抽筋问题了。他们说,补盐啊,吃榨菜没用,要补盐丸,出发十分钟就开始补,一路都要补,于是第二天我就把盐丸加到了水袋里。一路狂喝,居然真的不抽筋了,好吧因为不抽筋了,让我觉得走路也没那么艰难了,甚至有点享受走路的感觉了。

感谢我的团队,在做安排时,我基本是个自由人,所以既然脚不抽了,那我就可以浪一浪了,去冲击一下,看看自己的极限在哪里,于是后面几天,我尽量地走快些,每天都比昨天快一些,越走状态越好,也许是双脚习惯了走路的原因。

当然一味求快也是有风险的,第三天就因为冲得太快,又因为冲得不够快,卡在了第一梯队与第二梯队中间,一个人冲迷路了,最后不得不折回了半程补给点,多走了4公里,但也有收获,一个人在山上晃悠的时候,还看到了戈壁上的野兔,站起来都有我半身高,全身灰色,长长耳朵,见到我,三蹦两蹦转过一个小山坡就不见了。第四天也冲得太快,跟着前面两个一路小跑的老戈又走错路了,翻了一座山才返回路线。但是在翻越的山谷里,意外看到了矮大黄,两片一大一小的绿色带紫的圆圆叶子,平铺在地上,大的一片有餐盘一样大小,小的碗一样大小,两片叶子中间居然开着一簇红艳艳的小花。太神奇了,在这鸟不拉屎的地方,居然能看到如此有生命力,如此艳丽的植物,生命真是神奇。戈壁真是神奇的地方,处处都有惊喜。

因为迷路,组委会都认识我了,第四天迷路后翻山回到路线,一个工作人员停车问:你就是早上那个迷路的,我说:“是啊,翻了一座山回来的”,“你叫什么名字,我登记一下”他说着,拿出纸和笔,看了一眼我的胸牌,恍然大悟:“哦,你就是昨天也迷路的那个**”。也不登记了,直接开车走了。我尴尬地笑了笑。什么嘛,不就是第三天迷路的时候,我呼叫组委会说我的手表显示偏离2公里,让组委会给我看看我的定位是不是在正确路径上。组委会还让我等着,说派车过来找我,然后在对讲机里,听到组委会调度车辆一辆接替一辆往前推,我等了半天,也没见车过来,就知道自己确实走错路了。往回走又不甘心,于是开始直线折回补给点。补给点刚好在一个直角转弯处,要不是水都没有了,我就直走绕过补给点,还能少走几公里呢,哼哼。

第四天有效路程将近40公里,我基本一路是跑跑走走,从半程补给点出发时帽子忘记拿了,已经走了几百米了,不想返回去拿,就呼队友说,后面到达补给点的帮我把帽子交给组委会车辆就可以了。一个队友说:“我刚从补给点出发,我带给你吧”,她是我们队的女神(女生组前三名是女神奖),这几天要不是队里她第一名,就是我们一起第一名到达,团队给过我一个任务,让我带一带她,确保最后她能进入女生组前三名的女神评选。

我就在前面慢慢走,等上她了,带着她抄了一段c形线路的近路,远远看到早上在前面带错路的戈友沿着c线路跑远了,后来才知道,他叫王老师,因为我一直跟着他不远不近,中间碰到过几次,他都停下来,等我一起抄近路。想叫他,又太远,又不知道他那个队的对讲机频道。于是,过了那个c形线路,我们俩便远远超过了王老师。

我越走越快,女神也相隔越来越远。刚开始对讲机还能呼叫到,后来间隔也超出了对讲机范围,我是想着每个人节奏都不一样,无论谁迁就谁,都很难受,我就在前面走着,希望能督促她加快一点速度吧。

晚上复盘时,女神说她今天排女生组第二名,团队的大白扭头对我说:“呐,是你没带好她,你得好好带带她,这样,我们队再出一个女神,多好啊。”好吧,是应该改变下策略了,今天第三名到达营地,基本已经是我的极限了。明天不冲了,我慢一点跟着女神走。

结果第五天,因为是最后一天,因为只有23公里,大家都像吃了兴奋剂一样,一出发就跑起来了。我紧跟随女神,跑着跑着我又冲到了队伍的前面,旁边突然有人对我说:“你过来,跟在我后面,压着我的脚后跟跑”。原来又碰见王老师,于是我们跟在他后面,调整节奏,一口气跑到了半程补水点。一点都不觉得累,看状态,感觉还能再跑上十公里,于是,在王老师提议下,我们又一口气跑到了终点。女神也说从没有想过可以跑这么远。

原来控制好节奏,跑步一点都不累,原来这种长途跋涉,慢跑反而比走路更舒服。晚上庆功宴,我主动发言说:“来之前,我从来没有想过,我还可以跑一个半马,当然,这离不开老戈友的帮助,比如王老师,他一路上都在教我要怎么正确的跑步,我知道,他是特意压低自己的配速,只是为了带领我们感受一下什么是真正的跑步,所以非常感谢。同时也感谢刘总,感谢公司给了这么一个机会,让我体会到这种难忘的、特别的一段人生经历。谢谢!”

大家手拉手冲过180公里终点时,心情其实很平静。来了,见识了戈壁的壮阔荒芜,看到了蹦蹦跳跳的兔子,见到了艳丽的矮大黄,知道了自己的体力极限,感受到了戈友的善意与热情。已经不虚此行了。至于是否放下了什么,没拿起又何谈放下呢。

黑云压城,天越来越黑,想起几天前洗的床套还晒在楼顶,这些天一直下雨,也不知道干了没有,上去看了下,被人推到晾衣绳的角落,有一半还露在屋檐外面,谁这么缺德呢,摸了下,还有点潮,算了,收回去吧。

早上六点多就起来了,刚好昨天晚上收到了赵孟𫖯的放大版字帖前后赤壁赋,于是就开写了,居然出乎意外的顺利,果然是二王一派的,没有任何切换成本。以前看的是小字版本,没觉得赵孟𫖯的字有多漂亮,这次写的是5cm的放大版,越看越喜欢。真漂亮,这才是行书该有的样子。于是连续写了4个小时,写完了整本,意犹未尽,发现纸张也快写完了。打开淘宝看了下,不知道选那种,这是耗材,嫌它有点贵了。

老婆买菜回来,在阳台收衣服,说:“你这个竹子的底座原来是线绑成一坨的啊”。“对啊,哦,忘记了,泡太久了,别泡坏了”,昨天晚上把一颗观音竹的苔藓球,放在水桶中泡着,忘记取出来了,泡久了,根会泡烂掉的。赶紧去拿了出来。喜欢竹子的青翠和淡雅,买了两坨,一坨是红观音,长得比较高,竹竿是红色的,很漂亮,一坨是米竹,叶子小小,竹竿细细,很精致。根部都用细绳子捆了圆圆一坨苔藓球。过几天把苔藓球泡一下水。但是拿回来后,每天叶子都是干巴巴的,还有一些逐渐变黄。也不知道哪里没照顾好她,不行只能拿个盆子栽种了算了。最好放一个角落也能活得好好的,懒人照顾不了这么精细的活。

窗外已成黑夜,随即下起了大雨,风刮着雨横飞着,撞着玻璃噼啪作响。桃子打来视频,她已经到外婆家里,我们说这里下大雨啦,她说为什么她那里还是大太阳,我们说因为我们不是在一个地方呀,她说为什么我们不是一个地方,她那边就不会下雨呢。我们说因为每个地方天气不一样啊,她说为什么每个地方的天气会不一样呢。十万个为什么。

姐姐下午要上课外英语课,吃了午饭,催了好几次,才不情不愿的拿出书本做作业。“小偷英文怎么写”她问道,请教个问题也没好气,感觉是我们欠她,“这年代里,怎么写还要问人?”我也有点不耐烦。回道:“你不要说话,看你说话语气,我就来气,我要憋出内伤了”。“我问妈妈,没问你”她说着,在那抹起了眼泪。带着哭腔读起了英语,实在受不了,我带上耳机听动力火车的<那就这样吧>。耳不听为净。

打开淘宝,想选下纸卷,突然想到,徒步鞋还没买,速干衣也还没买,其他不急,鞋子得先磨合磨合,这个假期一定要搞定这个。

也不知啊光出去玩了没有,似乎好久没见他们了,“要不,明天让他们过来玩,如果我们没出去的话”老婆说。我没有回答,也不知道他们在不在深圳呢。想起春节他们去越南旅游,给我发了一张在海边飞身上摩托的照片,向我得瑟:“硕仔,看哥,厉害不!”。“老当益壮啊”我说,“怎么说话的”她老婆打抱不平。“好吧,厉害”。

想起以前一起喝酒,一起混日子的情景,现在越来越生疏了,聚会也聊不了几句,有时还要没话找话,时间真是所有关系的最大敌人。

想了想,还是拿起手机,在一个只有我们四个人的群里发一条消息:“放假出去玩了吗?”

桃子跟姨妈回老家了,早上上班打视频过来,舍不得挂掉,说没有带书本回去,我说那我给你买吧,还说一定要波西和皮普。

挂了视频,就在京东上给她下了一套新出版的波西和皮普的情绪管理课本。这套家里没有。其他的基本都买过了。

桃子长大了,有自己的边界。亲她小手手,她就嫌弃的在自己衣服上擦擦擦,亲她小脸脸,就下意识的用手背擦擦擦。那股嫌弃劲,逗得我更想去亲她。怎么这么可爱捏。

上次洗空调,接水的塑料袋子用透明胶布粘着,没粘牢,掉了下来,脏水撒了一床。于是把床套也拆下来洗了,看着上面黄黄的一圈圈的图案。

我问她:“这是谁画的地图啊?这是要画世界地图吗,画这么大。”

她盯着图案看了一会儿,思考了好久,突然说:“这是爸爸画的”,然后跑去告诉姨妈:“姨妈,爸爸洗空调,然后,然后水掉下来,在床上画地图。”就不承认是她画的地图。

好吧,小姑娘长大了,知道害羞了。

姨妈还经常说,宝小时候是爸爸提着回来的,那时候小小的,头靠着我的肩膀,手就能抓到她的大腿,一只手抱着到处跑。

去姨妈家的前一天中午,为了哄她睡觉,横抱着她,坐在电瓶车后面,妈妈骑着,出去逛了还没有2公里,就睡着了,路上,偷看她有没有睡着,还对着我笑。这让我想起,刚会坐的时候,抱她去后山公园拍照,坐在地上对着我笑的那张照片。爱笑的人,一定是幸福的。

姨妈说的对,现在还能抱抱亲亲,再过几年,就别想了,就像现在的姐姐,对我们爱答不理的。特别对我,因为在家里,我经常唱黑脸。对我烦着呢,一天也没一句好话。

曾经想着跟小孩能做朋友,现实却这么的骨感,不知跟小桃子会不会有点改观呢。

临近中午,我和弟弟在老木屋的厅堂玩游戏,“咚咚咚”,响起了很重的拍门声。

“有人在家吗?有没有人在家?”。传来一个陌生的女人声音。我跑过去,打开了木门。门外一前一后站着两个妇女。其中一个衣着鲜艳,我认识她,她家在后山那一片原始森林的入口处。她丈夫跟父亲关系不错。她儿子跟我年龄相差不大,我还去她家里玩过几次。

“你妈呢?”她问。
“采茶呢,还没回来。”我说。
“什么会时候回来?”
“不知道呢,应该快了。你找她啊?要不进来等等,应该快回来了”
“没事,我等下再来。”说完她俩扭头走了。

我关上门,回大厅跟弟弟继续玩游戏。

“你个婊子…你还有脸了…”屋后突然传来母亲愤怒的吼声,随后一阵混乱的声音传来。

我跟弟弟怯怯的,疑惑的打开门。在门口那条长长的石阶上,母亲正跟那个刚才找她的妇女扭打在一起,旁边的妇女想拉开,但拉不开,反而扭成一团,边打边退到了大门口。我脑中一片空白。不知道发生了什么,冲上去想帮母亲。只记得几个大腿在眼前晃来晃去。耳边充满愤怒的吼叫声:“给你脸了…你还敢找上门来…你这个偷人的婊子…捅烂你…”。

不知过了多久,世界好像突然安静了下来,没了吼叫声,多了窃窃私语声。那个妇女已经走了,门口石梯上,下面的梯田田埂上站着好些人。大家七嘴八舌的议论着。有人似乎在问我:“你妈跟人打架,你怎么只知道哭,不去帮忙一下”。“他冲上去了,边哭边拿着鞋底打那个女人,打了好几下。”另一个声音笑着说。

我似乎没有听到他们的议论。只看到母亲默默走到石阶尽头的路边,扶起装茶叶的竹篓子,把散落在地上的茶叶一把一把捡起来,放回篓中。

“我随身带着纳鞋底的针锥,我是准备去找她的,没想到她还有胆子找来了。”后来母亲说。

“我捅烂婊子的破B,捅了好几下,听到咕咕的声音,肯定捅到了,捅烂它,让你拿什么勾引男人。”母亲带着兴奋的声音说着,脸上露出胜利的笑容。

“那是带钩的纳鞋底的针锥啊,一定很痛”。我想。

“我就奇怪了,一个在凿放木材的小屋土墙的窗户,一个在下面的田地里割猪草,你哪不能割猪草,要在那里割,一搭没一搭聊半天,原来那时就眉来眼去了。”母亲说的时候,父亲躲在旁边一声不吭。

母亲是换亲过来的,父亲的姐姐嫁给了母亲的哥哥。从小我们都叫母亲“阿婶”。

母亲没上过学,自己的名字都不会写,小学文化的父亲便常常讥笑她,加上父亲脾气暴躁,一点就着,于是有记忆开始,家里便常常三天一小吵,五天一大打。每次打架,家里锅碗瓢盆就碎了一地,过后得想法子借钱重新置办。

“这几天,你看着你阿婶点,跟紧点”。那天父亲悄悄对我说,脸色阴沉。

母亲沿着房子下边的田埂往外走,瘦弱的背影一瘸一拐。我远远的跟着。母亲突然回头。恶狠狠的说:“跟着干嘛,别跟着,回去,我没事,我找个人说说话,不要跟来。”印象中那是温柔的母亲第一次对我发火。我茫然无措的望着她渐渐消失在田埂的尽头。

一阵嘈杂的响声,吵醒了我,昏暗的白炽灯光下,父亲和一个陌生的男人手忙脚乱的把母亲抬下了床。放在地板上。“掐人中,快掐人中”,陌生男人说,父亲跪在母亲头旁边,用拇指指甲掐母亲的人中。“不行,温度太高了,要擦身体”父亲说。陌生男人开门出去,打了一盆凉水进来。

父亲把母亲衣服扒光了,用毛巾沾水给母亲擦着身体。陌生男人在一旁用斗笠扇着风。母亲雪白模糊的身体躺在地板上一动不动。昏暗潮湿的空气中充满酒精刺鼻的气味。
“这是喝了多少啊,醉成这样。”陌生男人问。
“一大瓶高度白兰地,她从来不喝酒的”。父亲有些颤抖的说着。
“今晚有点危险了,得像这样不停降温,边擦边扇,看温度能不能降下来,能降下来就没事”。陌生男人说。

姐姐和我坐在床上,只是默默的看着这一切,我想起那瓶藏在屋角的白兰地,那是母亲一次卖掉茶叶后放在竹篓里带回来的,那是多大一瓶酒啊,瓶身都超过我的膝盖,从不喝酒的母亲,居然灌下一整瓶,这得多难受,这得多决绝。又想着,母亲会没事的吧,要是母亲不在了,以后怎么跟父亲相处,怎么面对父亲的暴力。胡乱想着,看着父亲一会儿给母亲擦身体,一会儿用斗笠扇着风。不知什么时候又睡着了。

母亲在床上躺了几天,挣扎着起来,日子似乎又回到了往常,但总是笼罩着一种莫名的沉默与恐惧。有一天,我们四个兄弟姐妹商量好了,第一次开口叫母亲一声:“妈”,母亲正在灶边煮饭,苍白的脸上露出了笑容,却又背过脸去,悄悄拭去泪水。

小白叫啥名字已经忘记了,似乎叫“米豆”,但似乎这是妹家那只泰迪的名字。所以每次回家,我就叫它小白。

小白来家里时,还很小,猫儿大小,我弟说他一个朋友买来的,因为有事养不了,托我弟照顾,我弟想着,老家就两个老人在家,给他们找个伴,就带回了老家。

第一眼看见小白,让我想起二十几年前的另一只小白,那应该是一只白色的土狗,也是猫儿大小,乖巧可爱,是我妹不知从哪里带回来的。它喜欢钻进灶台下面掉碳灰的小洞中,因为那里暖和。每次叫它,它就从小洞中钻出来。

来家里没多久,有一天,家里杀鸡宰鹅,顺手就把那些内脏扔给它吃了。

第二天,到处找不到它,后来在放木材的那个小土屋里找到了它,它躺在稻草堆里,已经奄奄一息,我抚摸着它,叫它时,勉强睁眼看一眼,眼角有一行泪痕。

老爸说,一定是吃了鸡鹅的内脏,然后躲在灶台下被热中暑了,于是给它打了一针不知什么药水。我们充满期待的等了一天。

最终奇迹还是没能发生。老爸将它埋在河边地里。

“别养这些东西,农村哪里能养得活这些东西,到时,看着多不忍心”。老妈看到小白时,再一次这样念叨着。

小白很热情,热情的过了头,无论看见谁,它都想冲过去,抱住人家大腿,还想顺着爬上来亲脸脸。

小小的时候,还觉得这样可爱,也没人去纠正它,于是,稍微大一点,就觉得是噩梦了,从此它就被绳子拴着了。

小的时候,老爸还会每天牵着它出去逛逛,大一点就拽不住它了,于是,每天都被关在家里,栓着不到2m的绳子。

有一天,妹发信息说,老爸被狗咬了,让我劝劝让他去打疫苗。弟可能觉得内疚,请假回去接他,在我们的劝说下,老爸终于答应愿意去打疫苗。

小白除了会抱大腿,其他很乖啊,为啥会咬人呢。

老妈后来说,那天老爸拿东西给它吃,它一激动,将盆掀翻了,饭菜撒了一地,老爸怒气上来,就打它,被打急了,绳子把两个缠在一起,老爸还打,于是,手上被咬了一口。“你爸那人,每次打得可真不忍看,下手不知轻重,这狗还养着,迟早会被打死,那天,我回来,他在那念叨,今天这狗可能挺不过去了,原来他把挑东西的木拐子都打断了”。

回来第二天,我牵它出去逛,激动得腿都是颤抖的,跑出去就在路边吃起了草。

刚开始我还牵着绳,跟着它跑来跑去,累的我上气不接下气,后来跑到了半山腰,干脆放开了绳子,它就撒开步子沿着茶林跑得远远的,我一叫,它又如风一般跑回来,有次还被绳子绊住,重重摔了一跤,低声呜咽了一会,又兴致勃勃的在田里跑来跑去,找到一个小水坑,兴奋的刨来刨去,把一身的白毛都染成了泥黑。

再后来,它就沿着小路不停的往上走,走远了就站着回头看我,我叫它也不回,我一走近,它又快步往上跑开,就这样走走停停,直到了山顶公路上,我才追上了它。牵着它回来,再也不敢松手。

第二天,弟回来给它洗了个澡,隔壁有个女孩也带回来一只同样白色,同样品种的萨摩耶,身上干干净净,没有栓绳,见人只是安静的看着,晚上还偷偷跑家里来跟小白约会。

我们问女主人还要狗不,要不小白也给她一起养吧。刚开始她是拒绝的,后来说她朋友愿意养。于是小白就被带走了。

老妈偶尔还会念叨:“狗养了这么久,给人家有点可惜。有它在老房子下面呆着,晚上走下去,胆子都大一点。”想了一会又说:“给人就给人吧,碰到一个好人家,人家会将它当宝一样。也不用在这里受苦了”。

晚上,桃子又惯常晚睡,跟她聊天,聊到了生日。

“爸爸,我,我生日时,请好多好多朋友,你给买个大大的蛋糕”。
“要不,我们来选一个吧”。

打开幸福西饼,挑起了蛋糕。她趴在我身上,小脸贴着我的脸,凑着看手机屏幕,看到每一个都想要。最后挑了个芒果双层蛋糕。奇怪现在的蛋糕好像便宜了好多。以前小果生日蛋糕从没有下过200的。今天看了下,大部分都是100出头。是蛋糕变小了,还是真的便宜了。

选完了蛋糕,我问她,那礼物呢,要不也一起选了吧。

“好啊,我要小兔子的礼物”。

打开淘宝,搜索小兔子礼物,依旧看到的每个都想要。最后挑了个紫色的超萌小兔子,我看了都好喜欢。

“好,就它了,先加入购物车,快到生日的时候再买”。

挑完了,终于心满意足的从我脸上下来了,压得我脸疼。

刷着淘宝,又刷到了经常买毛笔的那家店。又看到了那套毛笔。这是我花了上千块,买了上百把笔后,才找到的最好写的毛笔了,已经囤了两套笔头了。但是用的是店家送的廉价笔杆,垂涎他那套笔杆很久了,其实也没多少钱,两三百的事,但总是觉得有点浪费。想想,还是买吧,千金难买爷开心。人真是奇怪,在一些小钱上斤斤计较,在股市上几十万,几百万,瞬间都能扔出去。眼睛都不眨一下的。

买了,终于也心满意足的可以睡觉了,心里要是惦记一个东西。迟早都会下单的。

12点多了,桃子每到这个时候就开始闹腾,翻过来覆过去,最后跪趴着才能睡着。老爸说我小时候睡觉像驴趴着一动不动。桃子是青出于蓝而胜于蓝,不仅喜欢趴着睡,还喜欢跪趴着睡。学着她的样子趴一会儿,一点都不舒服。

家里电视墙下面一段不到2米距离的两个插座之间的线短路了,花了两个晚上,拆了无数插座,终于把它找了出来。老婆说你比电工还厉害。家里有个爱动手的还是省电工。

我是比较喜欢动手。家里的东西能自己搞定的,都自己搞定,甚至还买了冲击钻和锯木头的电锯。上次买了智能锁,废了一把斜口钳,也把它装上去了。智能锁厂家售后的看了后说,这么难装的锁也能自己装,厉害。

但是,再厉害也搞不定那段线路,怎么也拔不出来,没办法,最后只好走明线了。还好电视柜挡住了,不然可真难看。下次有机会,一定把那管子敲了重新拉线。顺便还可以刷刷腻子和油漆,想想就有趣。

正常的程序,函数的局部变量都是压入栈中,函数退出时,栈中数据便丢弃了,正常情况下没有问题,唯一要担心的是栈空间够不够,会不会溢出。

但51芯片不一样,51编译的程序,栈一般放在内部ram,但51芯片内部ram很小,只有256字节,还要去掉通用寄存器组和特殊寄存器。所以栈一般放在高128字节空间。

128字节能做啥,对稍微复杂点的程序来说,几个局部变量就撑爆它了。为了适用性,keil c51对编译进行魔改,编译过程中会分析函数的调用关系,形成函数调用树。

当两个函数位于不同的调用树上时,编译器认为这两个函数没有调用关系,于是将它们的局部变量都指定到ram同一地址空间。实现ram的复用,这样使用很少的ram就能运行很大的程序。

理想是很美好的,但有个前提,编译器需要明确知道所有的函数调用关系。

这里就有一个深坑,估计很多人都踩过。为了程序的灵活,一般都会在程序中使用函数指针,比如回调函数,比如状态机列表。问题就在于。对于函数指针,编译器不知道它最终调用了哪个函数,于是这样分析出来的调用树是不完整的。

但编译器不管,它按它的理解,复用这不同调用树的函数局部变量空间。于是就是发生这样的问题。执行函数指针调用的函数也许就把调用者的局部变量覆盖了,因为编译器认为这两个函数之间没有调用关系。所以局部变量都安排在一个空间。但实际它们有调用关系,后面执行的函数会覆盖掉调用者的局部变量。

这种问题表现都很诡异,有些甚至不可思议。比如一个工程运行的好好的,似乎很正常,然后在全局变量的结构体中,增加一个字段。立马一运行就死机。一脸懵。比如调试程序,加个打印函数看看,程序行为立马变了。抓狂。

太久没有搞51这种低端芯片了,都快20年了,刚毕业那几年,在厦门一家安防公司,就是使用的51,刚开始还用汇编来写程序。记得调试一个很小的功能,一直不行,搞了好几周,最后只好请老大来帮忙看看。老大一眼就看出中间一个调试打印函数修改了寄存器,导致结果一直不对。一脸黑线。从此对汇编一点都不感冒。开始自学使用C语言开发51程序。后来老大还跑过来请教怎么用c来开发51程序。

后来就再也没有使用过51了,基本都是arm级别的。越来越复杂,跑linux,使用c++,使用rust,20年过去了,以为这辈子应该没机会再碰51了。没想到啊,没想到,世事轮回,苍天绕过谁。

刚开始也是百思不得其解,程序逻辑没问题啊,为啥动一下就死。这不科学啊。一直以为是程序问题,到处找bug。什么也没找到,直到有一天,突然想着,我不优化程序有没有问题呢,于是将优化等级从9级改为0级,世界瞬间安静了,什么异常都消失了,唯一的问题是ram和rom都快撑爆了,想加新功能是不可能的了。于是问了下ai,优化和不优化为啥表现不一样,ai说51程序优化的话,局部变量会覆盖。我天,瞬间通了。程序里面有个巨大的状态机,使用的是函数列表的方式,这不是函数指针是啥。程序里面有几个下层调用上层的接口,使用的是回调函数,这不是函数指针是啥。程序里面有个定时器使用的是注册函数,超时执行,这不是函数指针是啥。

真是坑,坑死我了,于是花了两天时间,重构了程序,将函数指针全部改成直接调用。所有的问题都消失了,测试插拔几十次,没有出现异常。

可是我就纳闷了,为啥提供这个demo的原厂,芯片都出货了,程序这个样子,能用?还是说他运气好,都没碰到过异常。

感觉感性已经深深沉睡了,唤不醒,有时回来早一点,宁愿坐着发呆,不想看书,也不想打开电脑,写字也越来越丑。也许上班已经耗尽了全部精力。只剩下麻木。

也许半年没上班,有点不太适应现在的朝八晚九的节奏。心累。

忙了快2月了,每天都像打仗一样,回头一看,似乎什么都没做。

项目今天终于开了立项会了,接下来进度催着,也许更忙。会后进行了一次技术分享,本来是安排在明天的。但实在受不了一个事情一直压在心上,其他什么都做不了。于是自作主张提前到了今天。

本来想着就三四个人,结果项目经理说他要参加,又拉了几个人进来,搞的我都有点紧张了。还好过程顺利,只是不太习惯一个人对着屏幕叨叨叨,大家都在远程,一点反应都没有。

讲完了,如释重负,这是本周的主要任务。头有点疼,啥也不想干,晚上早点回家。

明天开始把那个破demo移植到公司自有的芯片上,顺便看看能不能解决那个死机问题。在我意识中,似乎写代码才是真正的工作。但不是这种破8051程序,一点成就感都没有。

这真是自己想要的工作吗,生存而已啦。

0%