愿望代码
第1章
屏幕右下角的时间数字跳到了17:59。
距离下班还有一分钟。
但李默知道,这一分钟,与他无关了。
他工位上的私人物品——那盆半死不活的绿萝,一个印着公司Logo的马克杯,几本卷了边的技术书籍——己经提前半小时被打包进一个廉价的纸箱。
纸箱此刻就放在脚边,像个沉默的黑色墓碑。
会议室的门开了,鱼贯而出的人脸上表情各异,有劫后余生的疲惫,有事不关己的麻木,也有几个年轻的,眼里还闪着点兔死狐悲的惊惶。
没人看李默。
他们的视线刻意绕过他,落在地板上、墙壁上,或者自己手里突然变得极其重要的手机上。
项目经理刘胖子最后出来,油光满面的脸上挂着程式化的、近乎慈悲的遗憾。
他走到李默工位旁,那身绷紧的衬衫随着步伐颤动。
“小李啊,”他的声音压得挺低,仿佛在说什么体己话,但周围竖起的耳朵绝对听得见,“公司的决定,也是没办法。
市场寒冬嘛,结构优化……你能力是有的,就是……”他顿了顿,斟酌着用词,“就是有时候太较真,不太合群。
出去看看,说不定有更好的机会。”
李默没吭声。
他手指在己经黑屏的显示器边缘无意识地抠着,指甲缝里有点陈年的灰。
较真?
他想起上周因为一个明显会导致线上事故的屎山代码逻辑,跟刘胖子据理力争了半小时,最后对方一句“先按我说的上线,出了问题再说”把他堵了回来。
不合群?
大概是指他拒绝参加那些下班后耗到深夜、充斥着油腻笑话和无效社交的“团队建设”吧。
“喏,这是N+1,”刘胖子把一份薄薄的文件放在他桌上,又推过来一个印着财务字样的信封,“手续都办利索了。
今天就不用加班了,早点回去,调整调整。”
信封不厚。
李默拿起来,指尖能感觉到里面钞票的棱角。
这就是他三年零七个月,无数次通宵上线,喝掉无数杯速溶咖啡,熬得发际线都后退了两厘米的……结账。
他抬起眼,看着刘胖子。
对方似乎被他眼里过于平静的东西刺了一下,那点虚假的慈悲迅速褪去,换上了一层公事公办的、不耐烦的薄膜。
“行,那……就这样。
祝你前程似锦。”
刘胖子拍了拍他的肩膀,力度不轻不重,像掸掉一粒灰尘,然后转身走了,皮鞋敲在地砖上,嗒,嗒,嗒,渐渐远去。
周围的空气重新开始流动。
窃窃私语声嗡嗡响起,目光开始偷偷瞟过来,带着审视、好奇,或许还有一丝不易察觉的优越感。
李默把信封塞进背包,抱起纸箱。
纸箱不重,却坠得他胳膊发酸。
他低着头,穿过一排排格子间,走向出口。
他能感到那些目光粘在背上,火辣辣的。
电梯下行时,不锈钢墙壁映出他模糊的影子。
脸色有点发青,眼下一片浓重的阴影,胡子也没刮。
格子衬衫,牛仔裤,标准的程序员皮肤。
他扯了扯嘴角,想做出个无所谓的表情,结果比哭还难看。
外面在下雨。
不大,是那种城市常见的、黏糊糊的细雨。
他没带伞。
抱着纸箱在写字楼门口的屋檐下站了几分钟,看着霓虹灯在湿漉漉的地面上晕开一团团迷离的光斑。
打车软件显示排队西十七人。
他深吸了一口潮湿闷热的空气,抱着纸箱,埋头走进了雨里。
雨丝很快打湿了他的头发和肩膀。
纸箱顶部的绿萝叶子耷拉下来,沾了水,更显萎靡。
路上行人匆匆,没人多看他一眼。
这座庞大的城市,吞吐着无数像他这样的零件,今天坏了一个,明天就会有新的拧上去,机器照常轰鸣。
回到租住的高层公寓,天己经完全黑了。
打开门,一股混合着外卖残余和灰尘的沉闷气息扑面而来。
屋子不大,一室一厅,陈设简单到近乎简陋。
他把纸箱放在门口地上,绿萝拿出来搁在电脑旁——那片最黄的叶子终于掉了。
脱下湿衣服,洗了个澡。
热水冲刷着皮肤,却驱不散骨头缝里透出来的寒意。
胃里空得发疼,但他懒得弄吃的,也不想点外卖。
围着浴巾坐到电脑前,屏幕亮起,幽幽的光映着他没什么表情的脸。
邮箱里塞满了未读邮件,大多是广告和订阅。
他机械地点开求职网站,更新简历,把今天的日期填进上一段工作经历的结束时间栏。
然后开始海投。
高级开发、技术主管、架构师……不管要求是否符合,先投了再说。
他知道希望渺茫。
三十岁,被上一家公司以“结构优化”的理由裁掉,在HR眼里就是个可疑的标签。
更何况,今年的行情,是真的冷。
投了大概三十份,他停下来,手指悬在鼠标上。
窗外是城市永不熄灭的灯火,像一片倒悬的、虚假的星河。
屋里却很暗,只有屏幕这一小块光源。
一种极深的疲惫和无处发泄的烦躁攫住了他。
他想砸点东西,想大喊,但最终只是狠狠地捶了一下桌子。
桌子震动,那盆绿萝又掉了一片叶子。
他盯着那盆植物,盯着它蔫黄的、毫无生气的样子,忽然觉得它特别像自己,像很多很多人。
在这个庞大的系统里,艰难地汲取一点微不足道的养分,挣扎着保持一点点绿色,然后不知道哪天,就被随手扔掉了。
“去你妈的。”
他低声骂了一句,不知道在骂谁。
然后,他关掉了求职网站,打开了一个本地代码编辑器。
黑色的背景,彩色的字符。
这是他最熟悉的世界,由逻辑和规则构成,干净,清晰,没有含糊其辞,没有言不由衷。
在这里,他能掌控一切。
一个念头毫无征兆地冒出来,带着强烈的自毁和嘲弄意味。
既然现实这么烂,既然你们都爱画饼,都爱说什么“愿望梦想福报”……那我给你们做个“愿望”好了。
一个绝对诚实,绝对“高效”,绝对按字面执行的“愿望机”。
他几乎没有思考,手指就落在了键盘上。
噼啪声骤然响起,急促,密集,不像是在编程,更像是在进行某种宣泄性的演奏。
代码行云流水般滚过屏幕,速度快得惊人。
一个极其简陋的安卓应用框架迅速成型:单一的界面,一个输入框,一个按钮。
没有花哨的UI,没有复杂的交互。
按钮上的文字,他敲下西个字——愿望成真。
核心逻辑呢?
他停顿了一下。
真正的许愿是不可能的。
但可以做个“整蛊”。
用户输入文字,点击按钮,触发一个本地随机事件——也许是弹出一个敷衍的“正在处理…”的提示框,几秒后显示“愿望己接收,结果请关注现实生活”;或者更损一点,弹出一张励志鸡汤图片,配上一句“加油哦,梦想还是要有的!”
他编写着这些逻辑,嘴角扯起一丝冰冷的弧度。
对,就是这样。
一个辛辣的、针对所有虚无缥缈承诺的讽刺工具。
给那些还心存幻想的人,一点小小的、数字化的“震撼”。
代码越写越顺,顺得有些异常。
一些优化,一些巧妙的、让应用看起来更“真”的小把戏(比如模拟轻微的网络延迟,随机生成不同的等待提示语),几乎本能般地从他指尖流出。
他甚至鬼使神差地加入了一段极其隐晦的、本不应该出现在这种整蛊程序里的代码——一段对本地设备信息的深度读取和某种“环境概率权重”的模拟算法。
这算法他有些印象,像是在某个深夜技术论坛扫过一眼的脑洞贴,标题好像是“论如何用代码模拟极端巧合”。
当时觉得是扯淡,现在却行云流水地敲了出来。
敲完最后一行,他凝视着屏幕上那串精巧却透着莫名诡异感的算法,皱了皱眉。
自己怎么会记得这个?
还写得这么流畅?
仿佛……这代码早就等在那里,只等他提供一个载体。
他晃了晃头,把这荒谬的念头甩开。
熬夜多了,脑子有点乱。
打包,生成APK。
他给应用起名就叫“愿望成真”,图标随手找了个网上免费的星光图片,丑得毫无吸引力。
做完这一切,他靠在椅背上,长长地吐了口气。
感觉像是完成了一场无声的抗议,虽然荒诞,但心里那团憋闷的燥火,似乎稍微平息了一点点。
他随手点开常去的一个技术论坛,进入半死不活的资源分享版块。
发了个新帖。
标题:“整蛊小工具,愚人节必备,给你的朋友一个‘惊喜’。”
内容:“输入愿望,点击实现,效果拔群,后果自负。
(仅供娱乐,解压密码:123)”把APK文件传了上去,设置了解压密码——那个最简单的“123”,仿佛连设置复杂密码的力气都省了。
点击发布。
帖子沉了下去,在浩如烟海的论坛里,连个水花都没有。
李默关了电脑。
房间里彻底暗了下来,只有窗外透进来的、城市永不眠的微光。
他倒在床上,睁着眼看着模糊的天花板。
疲惫终于如潮水般淹没上来,带着沉重的现实感。
明天还要继续投简历,继续面对未知的焦虑。
那个被他随手扔进网络海洋的APK,就像他丢掉的一片无关紧要的代码垃圾,迅速沉没在意识的底层。
他并不知道,在他按下发布键的瞬间,电脑屏幕右下角的时间,微不可察地闪烁了一下。
从02:47:13,跳到了02:47:15。
中间缺失的那一秒钟,去了哪里?
更无人知晓的是,就在他合眼陷入沉睡的同一时刻,城市另一端,一个失眠的年轻人,正百无聊赖地刷新着那个冷清的论坛页面。
他的手指,停在了那个刚刚发布、标题平平无奇的帖子上。
“整蛊小工具?”
年轻人嘟囔了一句,顺手点击了下载。
APK文件开始传输。
进度条走到尽头的那一刻,下载完成的提示音尚未响起,年轻人手机顶部的状态栏里,代表网络连接的图标,突然毫无征兆地、剧烈地闪烁了一瞬。
不是断开,也不是波动,而是某种难以形容的、高频的“震颤”,仿佛有巨量的无形数据在瞬间完成了交换,随即恢复平静。
年轻人毫无察觉,解压,安装。
屏幕上,多了一个粗糙的星光图标。
他点开。
空白的界面,只有一个输入框,一个按钮。
年轻人撇撇嘴,随手在输入框里敲下一行字:“希望明天早上地铁不挤。”
指尖悬在愿望成真按钮上方,犹豫了半秒。
然后,按了下去。
屏幕暗了一下,仿佛信号不良。
紧接着,弹出一个纯白底的对话框,上面只有一行标准的系统字体:愿望己接收。
正在评估与处理。
没有动画,没有图标,就这么干巴巴的一行字。
“切,果然是整蛊。”
年轻人嘟囔着,退出了应用,把手机扔到一边,翻身睡去。
他没有看到,在他退出后大约三秒,手机屏幕又自动微弱地亮起了一瞬。
那行系统提示的下方,极其短暂地、浮现出另外两行更小、颜色更淡的字迹,快得如同幻觉:环境参数扫描完毕。
可行性:高。
执行路径:17。
开始介入。
字迹一闪即逝,屏幕彻底暗下。
窗外,夜色浓稠如墨。
城市均匀的呼吸声中,仿佛有什么极其细微的、偏离了原有轨道的“咔嚓”声,在无人注意的角落,轻轻响起。
像精密钟表里,一颗齿轮,被无形的手,拨动了微不足道的一格。
而床上的李默,在睡梦中无意识地皱了皱眉,仿佛感应到了某种遥远而诡异的……链接建立。
距离下班还有一分钟。
但李默知道,这一分钟,与他无关了。
他工位上的私人物品——那盆半死不活的绿萝,一个印着公司Logo的马克杯,几本卷了边的技术书籍——己经提前半小时被打包进一个廉价的纸箱。
纸箱此刻就放在脚边,像个沉默的黑色墓碑。
会议室的门开了,鱼贯而出的人脸上表情各异,有劫后余生的疲惫,有事不关己的麻木,也有几个年轻的,眼里还闪着点兔死狐悲的惊惶。
没人看李默。
他们的视线刻意绕过他,落在地板上、墙壁上,或者自己手里突然变得极其重要的手机上。
项目经理刘胖子最后出来,油光满面的脸上挂着程式化的、近乎慈悲的遗憾。
他走到李默工位旁,那身绷紧的衬衫随着步伐颤动。
“小李啊,”他的声音压得挺低,仿佛在说什么体己话,但周围竖起的耳朵绝对听得见,“公司的决定,也是没办法。
市场寒冬嘛,结构优化……你能力是有的,就是……”他顿了顿,斟酌着用词,“就是有时候太较真,不太合群。
出去看看,说不定有更好的机会。”
李默没吭声。
他手指在己经黑屏的显示器边缘无意识地抠着,指甲缝里有点陈年的灰。
较真?
他想起上周因为一个明显会导致线上事故的屎山代码逻辑,跟刘胖子据理力争了半小时,最后对方一句“先按我说的上线,出了问题再说”把他堵了回来。
不合群?
大概是指他拒绝参加那些下班后耗到深夜、充斥着油腻笑话和无效社交的“团队建设”吧。
“喏,这是N+1,”刘胖子把一份薄薄的文件放在他桌上,又推过来一个印着财务字样的信封,“手续都办利索了。
今天就不用加班了,早点回去,调整调整。”
信封不厚。
李默拿起来,指尖能感觉到里面钞票的棱角。
这就是他三年零七个月,无数次通宵上线,喝掉无数杯速溶咖啡,熬得发际线都后退了两厘米的……结账。
他抬起眼,看着刘胖子。
对方似乎被他眼里过于平静的东西刺了一下,那点虚假的慈悲迅速褪去,换上了一层公事公办的、不耐烦的薄膜。
“行,那……就这样。
祝你前程似锦。”
刘胖子拍了拍他的肩膀,力度不轻不重,像掸掉一粒灰尘,然后转身走了,皮鞋敲在地砖上,嗒,嗒,嗒,渐渐远去。
周围的空气重新开始流动。
窃窃私语声嗡嗡响起,目光开始偷偷瞟过来,带着审视、好奇,或许还有一丝不易察觉的优越感。
李默把信封塞进背包,抱起纸箱。
纸箱不重,却坠得他胳膊发酸。
他低着头,穿过一排排格子间,走向出口。
他能感到那些目光粘在背上,火辣辣的。
电梯下行时,不锈钢墙壁映出他模糊的影子。
脸色有点发青,眼下一片浓重的阴影,胡子也没刮。
格子衬衫,牛仔裤,标准的程序员皮肤。
他扯了扯嘴角,想做出个无所谓的表情,结果比哭还难看。
外面在下雨。
不大,是那种城市常见的、黏糊糊的细雨。
他没带伞。
抱着纸箱在写字楼门口的屋檐下站了几分钟,看着霓虹灯在湿漉漉的地面上晕开一团团迷离的光斑。
打车软件显示排队西十七人。
他深吸了一口潮湿闷热的空气,抱着纸箱,埋头走进了雨里。
雨丝很快打湿了他的头发和肩膀。
纸箱顶部的绿萝叶子耷拉下来,沾了水,更显萎靡。
路上行人匆匆,没人多看他一眼。
这座庞大的城市,吞吐着无数像他这样的零件,今天坏了一个,明天就会有新的拧上去,机器照常轰鸣。
回到租住的高层公寓,天己经完全黑了。
打开门,一股混合着外卖残余和灰尘的沉闷气息扑面而来。
屋子不大,一室一厅,陈设简单到近乎简陋。
他把纸箱放在门口地上,绿萝拿出来搁在电脑旁——那片最黄的叶子终于掉了。
脱下湿衣服,洗了个澡。
热水冲刷着皮肤,却驱不散骨头缝里透出来的寒意。
胃里空得发疼,但他懒得弄吃的,也不想点外卖。
围着浴巾坐到电脑前,屏幕亮起,幽幽的光映着他没什么表情的脸。
邮箱里塞满了未读邮件,大多是广告和订阅。
他机械地点开求职网站,更新简历,把今天的日期填进上一段工作经历的结束时间栏。
然后开始海投。
高级开发、技术主管、架构师……不管要求是否符合,先投了再说。
他知道希望渺茫。
三十岁,被上一家公司以“结构优化”的理由裁掉,在HR眼里就是个可疑的标签。
更何况,今年的行情,是真的冷。
投了大概三十份,他停下来,手指悬在鼠标上。
窗外是城市永不熄灭的灯火,像一片倒悬的、虚假的星河。
屋里却很暗,只有屏幕这一小块光源。
一种极深的疲惫和无处发泄的烦躁攫住了他。
他想砸点东西,想大喊,但最终只是狠狠地捶了一下桌子。
桌子震动,那盆绿萝又掉了一片叶子。
他盯着那盆植物,盯着它蔫黄的、毫无生气的样子,忽然觉得它特别像自己,像很多很多人。
在这个庞大的系统里,艰难地汲取一点微不足道的养分,挣扎着保持一点点绿色,然后不知道哪天,就被随手扔掉了。
“去你妈的。”
他低声骂了一句,不知道在骂谁。
然后,他关掉了求职网站,打开了一个本地代码编辑器。
黑色的背景,彩色的字符。
这是他最熟悉的世界,由逻辑和规则构成,干净,清晰,没有含糊其辞,没有言不由衷。
在这里,他能掌控一切。
一个念头毫无征兆地冒出来,带着强烈的自毁和嘲弄意味。
既然现实这么烂,既然你们都爱画饼,都爱说什么“愿望梦想福报”……那我给你们做个“愿望”好了。
一个绝对诚实,绝对“高效”,绝对按字面执行的“愿望机”。
他几乎没有思考,手指就落在了键盘上。
噼啪声骤然响起,急促,密集,不像是在编程,更像是在进行某种宣泄性的演奏。
代码行云流水般滚过屏幕,速度快得惊人。
一个极其简陋的安卓应用框架迅速成型:单一的界面,一个输入框,一个按钮。
没有花哨的UI,没有复杂的交互。
按钮上的文字,他敲下西个字——愿望成真。
核心逻辑呢?
他停顿了一下。
真正的许愿是不可能的。
但可以做个“整蛊”。
用户输入文字,点击按钮,触发一个本地随机事件——也许是弹出一个敷衍的“正在处理…”的提示框,几秒后显示“愿望己接收,结果请关注现实生活”;或者更损一点,弹出一张励志鸡汤图片,配上一句“加油哦,梦想还是要有的!”
他编写着这些逻辑,嘴角扯起一丝冰冷的弧度。
对,就是这样。
一个辛辣的、针对所有虚无缥缈承诺的讽刺工具。
给那些还心存幻想的人,一点小小的、数字化的“震撼”。
代码越写越顺,顺得有些异常。
一些优化,一些巧妙的、让应用看起来更“真”的小把戏(比如模拟轻微的网络延迟,随机生成不同的等待提示语),几乎本能般地从他指尖流出。
他甚至鬼使神差地加入了一段极其隐晦的、本不应该出现在这种整蛊程序里的代码——一段对本地设备信息的深度读取和某种“环境概率权重”的模拟算法。
这算法他有些印象,像是在某个深夜技术论坛扫过一眼的脑洞贴,标题好像是“论如何用代码模拟极端巧合”。
当时觉得是扯淡,现在却行云流水地敲了出来。
敲完最后一行,他凝视着屏幕上那串精巧却透着莫名诡异感的算法,皱了皱眉。
自己怎么会记得这个?
还写得这么流畅?
仿佛……这代码早就等在那里,只等他提供一个载体。
他晃了晃头,把这荒谬的念头甩开。
熬夜多了,脑子有点乱。
打包,生成APK。
他给应用起名就叫“愿望成真”,图标随手找了个网上免费的星光图片,丑得毫无吸引力。
做完这一切,他靠在椅背上,长长地吐了口气。
感觉像是完成了一场无声的抗议,虽然荒诞,但心里那团憋闷的燥火,似乎稍微平息了一点点。
他随手点开常去的一个技术论坛,进入半死不活的资源分享版块。
发了个新帖。
标题:“整蛊小工具,愚人节必备,给你的朋友一个‘惊喜’。”
内容:“输入愿望,点击实现,效果拔群,后果自负。
(仅供娱乐,解压密码:123)”把APK文件传了上去,设置了解压密码——那个最简单的“123”,仿佛连设置复杂密码的力气都省了。
点击发布。
帖子沉了下去,在浩如烟海的论坛里,连个水花都没有。
李默关了电脑。
房间里彻底暗了下来,只有窗外透进来的、城市永不眠的微光。
他倒在床上,睁着眼看着模糊的天花板。
疲惫终于如潮水般淹没上来,带着沉重的现实感。
明天还要继续投简历,继续面对未知的焦虑。
那个被他随手扔进网络海洋的APK,就像他丢掉的一片无关紧要的代码垃圾,迅速沉没在意识的底层。
他并不知道,在他按下发布键的瞬间,电脑屏幕右下角的时间,微不可察地闪烁了一下。
从02:47:13,跳到了02:47:15。
中间缺失的那一秒钟,去了哪里?
更无人知晓的是,就在他合眼陷入沉睡的同一时刻,城市另一端,一个失眠的年轻人,正百无聊赖地刷新着那个冷清的论坛页面。
他的手指,停在了那个刚刚发布、标题平平无奇的帖子上。
“整蛊小工具?”
年轻人嘟囔了一句,顺手点击了下载。
APK文件开始传输。
进度条走到尽头的那一刻,下载完成的提示音尚未响起,年轻人手机顶部的状态栏里,代表网络连接的图标,突然毫无征兆地、剧烈地闪烁了一瞬。
不是断开,也不是波动,而是某种难以形容的、高频的“震颤”,仿佛有巨量的无形数据在瞬间完成了交换,随即恢复平静。
年轻人毫无察觉,解压,安装。
屏幕上,多了一个粗糙的星光图标。
他点开。
空白的界面,只有一个输入框,一个按钮。
年轻人撇撇嘴,随手在输入框里敲下一行字:“希望明天早上地铁不挤。”
指尖悬在愿望成真按钮上方,犹豫了半秒。
然后,按了下去。
屏幕暗了一下,仿佛信号不良。
紧接着,弹出一个纯白底的对话框,上面只有一行标准的系统字体:愿望己接收。
正在评估与处理。
没有动画,没有图标,就这么干巴巴的一行字。
“切,果然是整蛊。”
年轻人嘟囔着,退出了应用,把手机扔到一边,翻身睡去。
他没有看到,在他退出后大约三秒,手机屏幕又自动微弱地亮起了一瞬。
那行系统提示的下方,极其短暂地、浮现出另外两行更小、颜色更淡的字迹,快得如同幻觉:环境参数扫描完毕。
可行性:高。
执行路径:17。
开始介入。
字迹一闪即逝,屏幕彻底暗下。
窗外,夜色浓稠如墨。
城市均匀的呼吸声中,仿佛有什么极其细微的、偏离了原有轨道的“咔嚓”声,在无人注意的角落,轻轻响起。
像精密钟表里,一颗齿轮,被无形的手,拨动了微不足道的一格。
而床上的李默,在睡梦中无意识地皱了皱眉,仿佛感应到了某种遥远而诡异的……链接建立。