《美利坚:我的模拟器不对劲!》 第一章 陈哲 雨从下午就开始下,淅淅沥沥,敲打著布鲁克林区这栋老公寓楼的窗玻璃。空气里浮著一股老木头、灰尘和隔壁印度菜混合的复杂味道。客厅没开灯,唯一的光源来自桌上那台二手笔记本电脑的屏幕,幽幽地映著陈哲没什么表情的脸。 屏幕上,一行行文字正不紧不慢地跳出来。 【你是一名刚从警校毕业的新人巡警,搭档是位满嘴跑火车的old timer老资歷,你们接到报案,前往码头区一处废弃仓库……】 陈哲的手指在触控板上滑动,点击选项。 【行动点数-35】 【你选择谨慎行事,呼叫支援后再进入。】 文字停顿了一下。 【仓库內空无一人,只有铁锈和海腥味。你和搭档略感放鬆。在你转身的瞬间,阴影中伸出一只手,冰冷的钢丝勒住了你的喉咙。搭档的惊呼被一声闷响打断。视野陷入黑暗。】 【本次模擬结束。】 【模擬评价:这把你连第一个月都没有活过,呼叫的支援永远比你后一步来,过於轻信执法流程,当然……或许也是因为你的压力太大,导致精神恍惚呢?】 【结算奖励:无】 又死了。 陈哲向后靠进那张吱呀作响的椅子里,揉了揉眉心。屏幕上幽暗的光在他眼底残留了片刻,才慢慢褪去。他瞥了一眼电脑右下角的时间,凌晨两点十七分。雨声似乎更密了些。 他关掉那个名为“人生重开模擬器”的简陋文字游戏窗口,顺手清理掉后台。 这游戏是他两个月前在某个小眾论坛的犄角旮旯里翻到的,图標粗糙,介绍语焉不详,大概意思是能体验不同人生的可能性,陈哲只当是又一个粗製滥造的独立游戏,用来打发在餐厅打工和琢磨那永远没起色的求职简歷之间的无聊时间。 来到美利坚半年的时间,足以洗刷掉对於这个资本主义社会的一切好感。 虽然还没有沦落为流浪汉,但是陈哲也是第一次知道什么叫做钱不是钱。 百分之三十七的成年人拿不出400美元来应付一次小小的意外。 百分之四十二的家庭生活在爱丽丝生存线以下,收入不足以维持基本生活。 百分之十三的家庭彻底坠入联邦贫困线的深渊。 每年五十六万合法居民在官方记录里失踪。 回国的念头不是没有过。父母在电话那头小心翼翼地问起近况时,他总是说“还行”“在努力”。其实连他自己都不知道该怎么定义“还行”——是指今天餐厅打烊时经理多给了半份没卖完的意面,还是指上个月终於用余钱凑了这间每月八百美金房租的一半? 作为一名大学生,他手持f-1签证,学生身份意味著每周校外工作不得超过20小时,也意味著他几乎不可能靠合法打工完全养活自己。 想工作得更多?那就申请绿卡当美国人,或者换h1b签证。 但是……这不就更扯了吗? h1b签证一般来说都是依赖特定僱主的,签证由公司为你申请,你只能为这家僱主工作,一旦被裁员,理论上没有宽限期(grace period)——虽然实际执行有60天缓衝期,但身份立刻进入倒计时,找不到新僱主担保就下场危险。 必养的美利坚,这破房子都要五千块钱一个月……陈哲换算了一下匯率,脸色顿时沉了下去。 “连美国人自己做的游戏都在调侃斩杀线的问题,也不知道究竟为什么国內的走狗还在叫囂著这玩意儿不存在?” 陈哲嘴角扯了扯,刚想从座位上站起,就听电脑里传来一声提示音。 【叮咚!】 【“人生重开模擬器”正式版已开放预约,依旧免费。】 “正式版上线了?也对,距离demo版发出也有几个月了,这种小体量的游戏要测试也测试不了多久。” 陈哲又坐正了回来,本著消遣的心情,点击了预约。 回味游戏的內容。 这个游戏的玩法很简单。 隨机模擬一个身份,以游戏里的月为单位处理事件,每个月自动获得100点行动点,可以使用行动点完成卖血浆、乞討、试药、躺下水道……等行为,获得一些东西,並付出对应的代价。一切行为只为生存。 只是唯一感到奇怪的是,自己似乎不管怎样都没法获得结算奖励,一直停在“无”上。 照游戏官方的说法是,是內测版本还没有製作对应功能。 这小破游虽然破,但是玩了这么长时间还是有点感情的,要支持还是得支持一下。 陈哲看了一眼等待下载文件正式上线的右下角,確定自己確实点击了预约之后。 便伸了个懒腰,关机睡觉。 十一月份的冰天刺骨难耐。 中式快餐店“幸运 panda”的午后,瀰漫著炒饭油脂和蒜苗的气味。 午餐高峰刚过,陈哲靠著冰柜稍歇,手臂因为连续端了十几个沉重的外卖袋而微微发酸。收银台那边,老板娘正用尖利的声音数落负责打包的艾米丽,因为她又多用了一个餐盒。 “艾米丽啊!我同你讲几多次啦?一个炒饭,一个菜,咪使分两个盒装!你当啲盒唔使钱啊?哩度系美利坚,一分一毫都系血汗来嘅!” “sorry,madam……”艾米丽是个长著雀斑的灰头土脸的姑娘,低著头不敢说一句话:“万分抱歉,我会向您支付赔偿的,我保证!” “哼!这还差不多!” 束著短髮的老板娘偏过脸颊,露出唇上那颗痦子:“真是不打不知错,下次知道了?干活要带脑!”她端起那杯放著枸杞的保温杯,转身去了杂物间。 艾米丽面如死灰,却还是抿著嘴继续装餐盘。 看著这一幕,作为打工人,陈哲对这一切早已见怪不怪。 老板娘之所以能颐指气使,纯属是因为这是自家的员工,但是一旦对外,態度就显得卑微同时带著些许胆怯。 这不怪他们。 “陈哲,门口那桌的炒饭送一下子了,別磨蹭!”杂物间那边又传来声音。 “okay。”陈哲点头。 陈哲端起托盘,绕过收银台。 门口那桌坐著个白人老头,灰色鸭舌帽压得很低,正对著一份左宗棠鸡发呆。陈哲把炒饭放到桌上,老头抬眼看了他一下,没说话。 窗外的雨不知什么时候停了,只剩电线桿还在滴水,一下一下砸在空调外机上。布鲁克林的下午三点,天色已经暗得像傍晚。 老头拿叉子戳了戳鸡块,没吃。 陈哲正要转身,老头忽然开口:“你们的炒饭,是不是换米了?” 他站住了。 “之前那种圆粒的没了?”老头声音闷在帽檐底下,听不出什么感情。 陈哲往后厨方向扫了一眼。老板娘还在杂物间翻什么东西,窸窸窣窣的。他想了想,压低声音:“抱歉先生,上个月换的供货商,原来的牌子没进到货。” 老头点点头。 然后继续戳那块鸡。 陈哲倒也没有怎么注意这个怪人,转身走开,继续干自己的活。 他的工作时长不久,三个小时,老板娘也同样就给他三个小时的工钱,这是一种等价交换,没有恩情,所以陈哲也不是乾的特別卖力。 下午六点。 家中,陈哲一把推开房门,同居室友不在。 房间里没有开灯,窗外的天已经黑透了。 陈哲把门带上,钥匙扔进门口那只缺了边的搪瓷碗里,发出一声脆响。他站在玄关停顿了两秒,等眼睛適应这片昏暗。 客厅很小,左手边靠墙是一张双人旧沙发,灰绿色的绒面被坐得塌陷下去一块,扶手上搭著条叠了一半的珊瑚绒毯子,深蓝色,边缘有些起球。茶几上摆著两只外卖袋,袋口繫著死结,里面是中午剩下的餐盒,塑胶袋錶面凝了一层细密的水珠。 绕过这些家具,陈哲来到自己的二手笔记本电脑前。 【“人生重开模擬器”正式版已完成下载。】 趁著还没到饭点,陈哲点开了软体,准备来上一把。 第二章 第一次模擬 【欢迎使用人生重开模擬器!】 【点击此隨机你的身份】 陈哲提前调整了系统文字,这会儿呈现在眼前的就是乾脆利落的两行汉字,显得无比清晰。 他缓缓挪动红点,在身份一栏点击了一下,顿时面前跳出新的一页文字。 【你是一名it企业“被辞职”的员工,现在你的第三百封面试信被明確予以拒绝。】 【新年伊始,万象更新。】 【这个月里,你邋遢的外貌受人怀疑,行动点-5,生命值-5。】 【请选择你在这个月里完成的事件,或直接结束本月份行动。】 对於以月份为时间单位这件事,陈哲是没意见的。 毕竟来过美国才知道,如果没有家里人给自己的存款的话,没有那一阵又一阵的输血,每个月的压力都极为巨大。 美国人流行“paycheck to paycheck”,意思是下个月还有下个月的帐单,因而活著仅仅只是活著罢了。 陈哲一开始也觉得儘量还钱,但总是活不过两个月,后来一想凭本事借的钱为什么要还,人死债消,不若用借债延续自己的寿命,这才渐渐能活得久一点。 “在demo版本里,这个人生重开模擬器倒不如叫底层模擬器,也不知道换了正式版本之后有没有稍微好点的开局。” 陈哲心中暗想。 失业程式设计师开局,也算是一个比较正常的底层开篇了,要比自己现在的处境差一点。 陈哲现在的生存压力全靠远在中国的中產家庭父母支持才没有垮台,如果那边出了什么事情,自己就是真的要阶级滑落了。 美国这边,发生阶级滑落的事情,是比中国常见不少的。 这也是两个社会体制上的差异。 陈哲心情放鬆,这一把游戏已经开始,不如先看看具体的个人属性。 【行动点:47,生命值:32,信用值:426,存款:$27】 “行动点47个?”陈哲思忖片刻,看著右边,倒是信用值这一块比较高。 行动点这么少,一般来说是完成不了什么事情的。 至於存款只有二十七美元,其实对於这种人来说已经能够算得上是天胡开局了,毕竟百分之三十七的成年人掏不出四百美元出来。 这东西竟然不是负数,著实是令陈哲动容。 “比起行动点,这玩意儿更应该叫san值。”陈哲若有所思,曾经有一次他把行动点整成了负数,下个月就直接因为精神问题而导致一系列连锁反应被斩杀:“看看能怎么做。” 【社区献血:“穷人的atm机”(消耗20行动点,5生命值)】 【乞討:“拋下尊严吧”(消耗30行动点)】 下一页。 【发薪日贷款:“利滚利”(消耗10行动点)】 下一页。 【下水道躺平:“应急恢復行动点的好方式,只不过被目击到会威胁到你的个人信用”(不消耗行动点)】 【社区救济:“获得少许的钱和少许生命值”(消耗20行动点)】 “新增了不少东西啊。” 陈哲思索了片刻,控制红点,点在了发薪日贷款上。 根据陈哲的经验,自己的信用值只要不低於300,就什么事情都没有。 那么,凭本事借的钱,为什么要还? 【行动点-10】 【你选择了发薪日贷款,你获得了25点行动点,和五千美金。】 【行动点:62,生命值:32,信用值:426,存款:$5027】 【註:十二个月內只能借贷两次。】 【行动点-10】 【……】 一番操作之后,行动点数来到了77个,而存款也达到了$10027。 “这么多行动点,可以进行三次献血,或者两次献血加上一次乞討……还是两次献血加上一次乞討吧。” “信用值儘量別崩比较好,不然根据我的经验会封paypal帐號,现在这样就够了。” 陈哲点了点头,做了个浅显的分配,点动光標开始操作。 【(行动点-20,生命值-5。)你在社区献血,发现原来像你一样的人还有很多,两个手臂上都有针眼,右胳膊吸毒,左胳膊献血。你获得了两千两百美元。】 【(行动点-20,生命值-5)你在社区献血,护士看著你的左臂摇了摇头,让你换右臂。你获得了两千两百美元。】 【(行动点-30)你在街头乞討,拋弃了所有的尊严之后,你神奇地规避掉了危机,並获得了2500美元。】 “结束本月。” 【你遭遇了挫折!】 【信用卡帐单日 第 1月,帐单摆在面前,还款日还有三周。你盯著那个数字,开始权衡。 一、先还最低还款额。 保住现金流,但剩余部分开始计息。 代价:-$6,300,信用值-54 二、咬牙全额还款。 把存款掏空,但至少不欠银行的。信用记录会好看一些。 代价:-$8,100 三、申请帐单分期。 分摊压力,但要交手续费,信用记录也会留下痕跡。 代价:-$5,700,信用值-76 某理財论坛热帖——有没有人算过最低还款到底多坑?假设你欠了一万,最低还款只要几百,看起来很轻鬆对吧?但剩下的部分,从消费那天起按日计息。一年下来,你可能还了八千,结果发现还欠一万二。这不是还款,这是续费。】 “有钱,直接选第二个。”陈哲斟酌片刻,直接出手。 【你选择了咬牙全额还款,你看著银行余额从五位数变成四位数,心在滴血,但至少你不用给银行打工还利息了,你失去了$8100,信用值+5。】 “第一个月顺利活过。” 陈哲点了点头,顿时鬆了一口气,版本更新了不少东西,好在难度上没有什么提升。 “这也不是很难。”陈哲充满了信心。 …… 【“哦,我的天哪!交不起?”房东冷笑一声:“早知道你不是什么正经人,滚吧。”他转身就走。你知道,他会到处说你的事。你坐在床边,看著这间住了一个月的小屋。今晚之后,你將无处可去。】 【你选择离开,这不消耗你任何行动点。】 【夜色很冷,你裹著破旧外套蜷缩在公园长椅上。来来往往的人脚步匆匆,没有人注意到你。你仿佛融入了城市的背景,没人会停下来看你。】 【你选择撑过夜晚……】 【日復一日,你在街头游荡。你的名字、你的故事、甚至你的影子,都像风吹散一样逐渐消散。人们匆匆而过,却没人再回头看一眼。你已经不再是这个社会愿意记住的那个人。】 【你默默消失。】 【第三个月,你死了。】 【本次模擬结束。】 【模擬评价:虽然步步为营,但终究只是短生种思维,在这个骯脏的世界里,你保持了乾净的双手,你被债务链条捆绑,每一分收入都流向了无底洞,当最后一根稻草落下时,你发现自己连躺平的资格都没有。】 【结算奖励:lv1计算机技术(固定)、lv1献血经验。】 標准结局。 但是……结算奖励? 还没等陈哲反应过来,就感觉自己的左右两个手臂上都涌来一阵古怪的扎针感,以及脑海中的计算机知识,轻车熟路,仿佛在美国的高中参加过竞赛,度过辉煌的青春。有另外一个自己在体內復甦,只是没有记忆。 第三章 献血经验 经验、技巧,迄今为止都在脑海里不断復甦,宛如一点点从水中升腾上来的游鱼或者气泡,几乎让他只感觉到无所適从的无措。 再次睁开眼睛的时候,两个技能的介绍出现在电脑屏幕上。 【计算机技术(lv1):】 【你经歷过计算机的教育,这使得你精通python,java、c++的拼写,能熟练地在stack overflow上复製代码,並能在报错时精准地骂出“这他妈怎么可能”。】 【献血经验(lv1):】 【你熟悉社区献血点的流程,知道献全血间隔需要八周,献血浆只需要两周。你知道哪个採血站的护士换针头最敷衍,哪个会给橙汁和饼乾,哪个周五下午人少不用排队。你的血管里流著代金券,儘管比起真正的行家还差得远。】 陈哲来到美利坚这么久的时间,一身心態趋近於麻木。倒不如说现代人普遍麻木,很少有激动振奋的心绪,但是见到了这东西还是眼前一亮。 “这是死者的经验过渡到了我的身上?” “还是说,根据结算评价的大小,能给予我对应部分的奖励?” 陈哲依稀记得“计算机技术”这个奖励是固定的,那么看来自己在这模擬之中的存活时间也非常重要。 说不准自己再多献血几次,这玩意儿的馈赠就不只是经验和记忆,而是自带加成效果的称號了。 “再开一把吗?” 陈哲若有所思地盯著电脑屏幕,毫不犹豫地按下了投胎转世的键。 【没有多余模擬次数,请等待模擬次数恢復。】 “果然,如果说能够一直模擬的话,恐怕干什么都不如一直在家打游戏来得强。”陈哲耸耸肩。 …… 二十分钟后,公寓的同租室友来了。 “陈,你在看什么?”杰姆尼是个文艺青年,与他同学关係,头髮有点长,偏棕,乱糟糟地扎了个小揪,几缕碎发垂在耳侧。他把书包扔在客厅的墙角,一双蓝眸注视著陈哲的电脑屏幕。 “在看ins上的擦边视频。” 陈哲伸手指了指电脑:“还不错。” “咦?我以为你阳痿。”杰姆尼震撼。 “像你们这种天天od到瞳孔涣散的才阳痿吧,sir。”陈哲嘆了一口气:“不看就不要打扰我的雅兴。” “好好好,我回房间了。”杰姆尼说著okay,穿过沙发,打开右侧一个虚掩的门,离开了客厅。 见此一幕,陈哲目光平静如常。 在刚才的时间里,陈哲打开瀏览器確认了一下,发现这款人生重开模擬器的正式版因为不可抗力因素被下架了,压根儿就不存在给预约的人发信息的可能。 连带著的还有本来的demo版。 这种情况自己收到正式版上线的消息这是没概率出现的事,但是考虑到这游戏里的东西都能反馈到现实中了,陈哲顿时也就放下心来,看样子这玩意儿並无什么特殊之处,就是个金手指。 这也就打消了陈哲的一部分疑虑,这个世界还是没那么魔幻的。 作为熟读网文的中国人,陈哲接受度非常高。 “现在要做的就是等待模擬次数恢復了。”陈哲若有所思。 目前还不知道这玩意儿是要通过时间恢復还是干什么事情积攒能量,那就先照常生活吧。 “早知道这东西能够奖励技能,那就认真点玩了。”陈哲颇有一种悔不当初的感觉,不过倒也没有那么后悔,两个技能都对自己有点用处。 陈哲退出软体界面。西大这边正常视频都整得和暗网似的,搞得他都怀疑是自己的想法太保守了。客厅里顿时没有了窸窸窣窣的声音。 “完事了?”杰姆尼从房间里面探头,抱著个贝斯。 “滚。” 陈哲有点闹麻。 …… 等到杰姆尼不再出来招烦,陈哲方才开始测试起自己的计算机素养。 如果自己不是上的社区大学,那么说不定去计算机社团还可以拓宽一点见识,一些眼界,凭藉著手头的计算机基础,指不定还能在大一阶段的大学里取得不错的学分。 但是陈哲恰巧就是上的一座社区大学——距这比较近的长岛商学院,long island business institute,缩写常写作 libi,在sevp认证名单里,能发i-20。威廉斯堡那栋楼外墙上掛的牌子就写著这个,蓝底白字,边上是一家修车厂,再过去是波兰肉铺。 说到i-20,自己的i-20签证还要由学校国际生办公室秘书露西亚补办……陈哲想到越来越近的期限和手头並不宽裕的资金,心情一阵鬱闷。 就目前来说,想要从社区大学转到正式的大学就只有转学这么一条路可走,拿到学士学位之后,如果成绩卓越,可以转去uc系上个好大学。 这也是陈哲原本的计划。 奈何现在看来,等到那个时候,黄花菜恐怕都凉了! “果然,还是需要更多的模擬。” 陈哲望著自己关掉的二手笔记本电脑,重新將其启动,一边想。 如果自己有著拳王,或者健身教练的技能,恐怕在这个阶段就能派得上用场了! 想要逃离斩杀线是个难事,但倒也不是特別难。 “正经工作暂时比较难找,收尸人那种兼职,我也没有什么渠道,不如先试试看这手计算机技术,能不能试著开点线上辅导,或者代写代码什么的。” 陈哲打开电脑的python软体,准备写个经典的爬虫程序练练手。 一瞬间,脑子里同时浮现出三种写法。 用requests加beautifulsoup。 用selenium模擬瀏览器,適合对付动態加载。 甚至scrapy框架的工程目录结构自动铺开了,spiders文件夹、items.py、middlewares.py。 response如何拿,status_code如何判断,headers里user-agent的偽装,timeout的后缀。他一边敲一边意识到自己正在了解那些从未学过的东西。 十分钟,一个能爬静態页面標题的脚本就跑通了。 “不愧是原本能在公司干活的水平。” 陈哲微微振奋,隨便投了个几个网页,没半个小时的时间,就有大概两千条数据落进csv里。 除此之外,他能感觉到自己的记忆和这些经验並不相斥,反而接驳得很好,就像左手和右手。 第四章 赚钱 “华人,程式设计师,buff可谓叠满了。” 一番试探过后,陈哲暗自寻思著。 美利坚是一个刻板印象浓郁的国家,儘管在舆论阵点上,各路牛鬼蛇神都在反对刻板,但这一行为,反而加重了他们的形象 陈哲用手指抵著下顎,盯著电脑屏幕反光里的自己:“如果再戴个黑框眼镜,估计还能更像书呆子nerd一点……可惜我不近视。”说到这,他不由有点惋惜。 他打开自己的x推帐號,平时关注的內容都是一些杂七杂八的金融博主,现在既然要立新人设赚钱了,就该去关注一些it领域的大能。 於是,陈哲打开搜索栏,依次关注宝玉、李继刚、安德烈·卡帕西、林纳斯·托瓦兹、杰夫·迪恩等一系列it领域大神。 lv1计算机技术、lv1献血经验。 虽说这次模擬奖励了两个技能,但是却也要看看哪个更適合当前阶段的自己。 真去社区卖血他是不去的,卖血本身用的针头有可能传播疾病,也就在模擬之中可以希冀於运气好一点了,现实之中拿这玩意儿卖钱的风险程度可以和高利贷一拼,染病如果没有对应掛保,动輒就是上千美元的支出。 陈哲寻思著如果不是自己真的急需用钱,倒也不必干这种有风险的事。 “帐號这块可以慢慢运营,每天发点免费乾货,先把人设立起来再说。”陈哲改了一下自己的个性签名,滑鼠在各个界面辗转腾挪。 “倒是短时间里的第二兼职,帮人去做家教的活,应该有著落了。”陈哲若有所思。 美利坚也有家庭教师的岗位,纽约上东区不只有前1%的富豪惧怕阶级滑落,还有大量的中產阶级。 虽说其中一部分在搞家庭学校,不需要他这么个家教,但是这也能算是一个没有被精耕细作成红海的市场,陈哲认为降低一点价格的话还是可以吸引到顾客的。 “纽约州的平均工资是多少来著?” 陈哲呢喃自语,用笔尖戳著嘴唇,政府虽然把流浪汉全部开除了人籍,但是这也可以作为求职的一项重要指標:“时薪17美元么。” 想了一会儿,陈哲就输入了一个网址,找到了美国比较出名的招聘网站careerbuilder。 “啪嗒。” careerbulider,凯业必达,顾名思义是一家人力资本解决方案公司,总部位於芝加哥,最初名为newstart,1998年正式更名。 搜寻引擎上的界面还是那副老样子,二十年来没怎么变过,蓝白配色,按钮方正得像上个世纪的遗產。 实际上这种招聘网站的首选有很多,譬如领英、玻璃门,甚至有许多都是专门针对新工科计算机科学的。 工科分为两种,一种是旧工科,一种是新工科。 传统工科现在航海相关的发展好,船舶设备之类的。 新工科则就是大数据算法ai。 但是美国也有学歷要求,像陈哲这样的社区大学肯定不行,更何况陈哲是学生,就算进了公司,也没法拥有正常的工资。 所以陈哲最后还是回到了这么一个服务歷史悠久的老牌综合门户,並没有选择其他的垂直领域服务网站。 陈哲註册完帐號,填完基本信息,在“求职意向”那一栏停了几秒。 “那就家教,时薪15美元吧。” 陈哲一番打字。 隨后上传了一张自己的照片,背景勉勉强强,少了个看出来是在这等脏乱出租屋里的把柄。 简歷这东西不能造假,好在陈哲应聘的是家教,也不需要投太过严苛的简歷,简单介绍一下自己就行。 “赚钱,然后把成绩提上去,改学歷。”陈哲点了点头。社区大学这个名头还是不太好看,自己倒也不能编个nyu出来。 他给出的时薪比纽约州最低工资还要低一点,却要比正经码农实习的工资高一点,而且门槛低,不需要opt,不需要h1b担保,甚至不需要问太多问题,这倒也是一种幽默。 相信鹰帝。 合上电脑之前,陈哲最后看了一眼时间,已经是傍晚九点半。他看了会儿《枯岭街少年杀人事件》电影,就收拾收拾洗脸刷牙,把电脑关上,睡了觉。 …… 第二天早上八点,陈哲是被提示音震醒的。 他眯著眼摸过手机,屏幕亮起来的那一瞬间刺得眼眶发酸,拢共三条邮件。 两条是系统自动回復,感谢投递,我们会认真考虑。第三条倒不一样,发件人是个私人邮箱,標题直接写著“家教——15美元可以谈”。 “成了?” 陈哲微微惊讶,他撑起身,靠在床头把那封邮件读了两遍。 对方住在威廉斯堡靠河边那片,算是这附近少数能称得上“中產社区”的地方。家里两个孩子,一个初中一个高中,都需要补计算机基础。 是学校那门叫“计算机科学导论”的水课,作业是打字练习和做ppt那种。 “你方便今天下午过来试讲吗?”邮件最后写著,“如果可以,三点,地址见附件。” 陈哲看了眼时间,才刚到早八点。 他回了一个字:好。 …… 杰姆尼刷完牙出来的时候,陈哲已经坐在电脑前面了。 “你今天有课?”杰姆尼叼著牙刷,含混不清地问。 “没。”陈哲摆摆手:“就算有,我们那社区大学教的商业、通识课程也没卵用,不扣学分的不去就行了。” “那你起这么早?” 陈哲没回头:“有事。” 杰姆尼凑过来看了一眼屏幕,上面是谷歌地图,一条蓝色的路线从他们这栋老公寓出发,往东偏南方向拐了几个弯,最后停在一小片浅绿色的区域。 “威廉斯堡桥那头?”杰姆尼吐掉泡沫,“那边房租比咱们这贵一倍。” “嗯。” “你去找人?” “人家来找我。”陈哲把地图缩小,站起来开始穿外套。 “等等……”杰姆尼愣了两秒,忽然明白过来:“老兄,你找到工作了?” “家教。”陈哲把衬衫纽扣繫到锁骨,“十五美元一小时。” “十五美元?”杰姆尼眉毛挑起来,“那帮高中生家长给十五美元?” “试讲价。” 杰姆尼点点头,没再说什么。他把漱口杯放回架子上,探头往客厅看了一眼,陈哲已经在繫鞋带了。 两人的交谈总是浅尝輒止,杰姆尼不知道陈哲究竟教的什么学科,陈哲也不介意对方多问问。 “你那电脑要不要换个新的?”杰姆尼忽然问。 陈哲动作停了一下。 “我意思是,”杰姆尼靠在卫生间门框上,“给人当家教,带著那台破玩意儿,看著不太专业。” 那台二手thinkpad,屏幕边框发黄,电池只能用四十分钟,充电线缠了两圈胶带。陈哲知道杰姆尼说的是实话。 “先挣到钱再说。”陈哲想了想,说。 第五章 兼职家教 结束了与杰姆尼的交谈,以及在快餐店洗盘子的早班工作,陈哲马不停蹄坐上公共汽车,看著座椅上颓靡的行人,不由一阵感慨。 十一月的纽约本就没有夏天时候那么有活力,前些日子一阵暴雨冲刷,这座被戏称为巢都的城市就更显得鬱郁了。 陈哲隨便找了个座位坐下,一摸才发现这玩意儿居然是铁的。 “这……还真不把公共汽车乘客当人。” 陈哲气笑了,人无语的时候真的会笑。 美国这地方,可谓是一个橡胶车轮上的国家。 公共运输工具经常晚点,从商业区抵达公交站平均来说要走四十分钟,一小时一班,最后一辆末班车比绝大多数上班族下班的时间要早,所以这个点上车的基本都是一些无家可归被驱赶的无耻之徒,一路上自然顛簸不断。 和东大的公共汽车上普遍使用乙烯基这种耐用塑料不同,美国因为公交车的受眾,並不怎么予以优良的待遇,相当一部分的公交车里还留著铁椅子。 这倒也是情理之中了。 毕竟在美国这边,汽车被视为必需品,没有私家汽车,那就只能是二等公民。 对面坐著一个裹著三层外套的黑人老头,怀里抱著两个鼓鼓囊囊的塑胶袋,膝盖上放著一个啃了一半的汉堡。他嚼得很慢,眼睛盯著窗外,目光穿过那些涂鸦和褪色的商铺招牌,不知道落在哪里。塑胶袋里露出半截旧毛毯的边角,脏兮兮的粉红色。 车在红灯前停下。 隔著过道,一个年轻的母亲正使劲按住婴儿车的把手。婴儿车里的小孩大概一岁多,脸憋得通紫,正用尽全身力气哭。那哭声像一把钝锯子在铁皮车厢里来回拉一般尖锐。母亲没有哄,也没看孩子,只是死死盯著车门,仿佛那里隨时会衝进来什么东西。她的眼眶下面有两道很深的青紫色,炭笔画上去的。 “哇~” 婴儿的哭声一阵接一阵,就像癮君子针扎进静脉时候的战慄。 陈哲忽然感觉十一月的冻天让自己座位下的铁椅变得生冷,缓缓地站了起来,抓著扶手靠著。 …… 下午两点四十分,陈哲离开了公交车,来到威廉斯堡桥。 一个早上模擬次数都没有增长,不过这也让他安心了下来,可以专注於自己的现实生活。 “等下次刷新了,一定认真开一把。”陈哲暗下决心。 应聘地点是一座红砖灰瓦的欧式建筑物,六层,没有电梯,楼道乾净,门禁系统上贴著一排名字。 “罗德里格斯夫妇。” 陈哲若有所思,用指甲划过去,找到第三个:罗德里格斯。 按门铃。 半分钟后,门锁咔噠一声弹开。 三楼,右手边那扇门半开著,一个四十岁左右的女人站在门口,深棕色头髮挽在脑后,穿一件米白色的开衫,手里还端著杯咖啡。她看见陈哲,目光从上到下打量了一遍。 “陈?”她发音有点生硬,但能听懂。 “对,陈哲。”陈哲点点头,“下午好,罗德格里斯太太。” 陈哲现在穿著一身格子长袖衬衫,背著一个电脑单肩包,下身牛仔裤、健步鞋,又戴著黑框近视眼镜,说是和对方印象中的亚裔程式设计师没什么区別也不为过。 “叫我玛尔塔就行。”女人侧身让开,“进来吧。” 玄关不大,左手边是一排掛鉤,掛满了书包和外套。地上摆著几双运动鞋,尺码从大到小,明显是一家人的。往里走,客厅比陈哲想像中宽敞,浅灰色沙发,玻璃茶几,电视柜上摆著两个相框,一个是一家四口在海边,一个是两个孩子小时候的合照。 “要喝水吗?咖啡?”玛尔塔往厨房方向走。 “水就行,谢谢。” 陈哲站在客厅中央,没坐下。落地窗外能看见对面那排楼的红砖墙,墙角堆著几辆自行车,有一辆倒在地上,前轮歪著。 玛尔塔端著杯水回来,见他站著,也没多说什么,只是朝沙发方向抬了抬下巴:“坐吧,他们马上下来。” 她自己在单人沙发上坐下,咖啡杯搁在扶手上。 “作为被应聘的家教,我想我需要考究一下你的能力。”玛尔塔缓缓地说:“你知道的,我们不能让一个没有真才实学的人耽误孩子的学习时间。” “没问题。”陈哲把单肩包放在脚边,在沙发边缘坐下,“您想知道什么?” 玛尔塔没有马上回答。她端起咖啡抿了一口,目光落在陈哲身上,像是在组织语言,又像是在做某种判断。 “你之前在简歷上写,会python和java。”她放下杯子,“这些我其实不太懂。我丈夫懂一点,他在银行做it支持,但他不幸离世了。” “我感到遗憾。” 陈哲点点头,等她继续。 “我需要知道的是,”玛尔塔的手指在杯沿上轻轻敲了两下,“你能教会我女儿什么?” 这个问题比陈哲预想的要深入一点,不过还行,他询问道:“您女儿几年级?” “十年级。” “十年级的计算机课,一般是导论性质。”陈哲想了想,“office全家桶怎么用,怎么搜资料,怎么做ppt,可能还有一点点很基础的编程概念,比如什么是循环,什么是变量。不会太难。” 玛尔塔的眉毛微微挑了一下。 “您希望她学到什么?”陈哲反问。 这个反问让玛尔塔沉默了几秒。 “我希望她能过关。”她最后说,“她的成绩单上这门课是c-,再往下掉就要影响gpa了。” 玛尔塔太太嘆了一口气。 陈哲点点头,这才是实在的回答。 “另外,”玛尔塔顿了顿,“我希望她能……对这个东西有点兴趣。” “什么兴趣?” “不是那种……那种天天抱著手机刷视频的兴趣,是真的能派上用场的兴趣。”玛尔塔太太语气无奈。 楼梯上传来脚步声,打断了对话。 先下来的是个男孩,十三四岁的样子,黑头髮乱糟糟地翘著,t恤上印著个褪色的蜘蛛侠。他看见陈哲,愣了一下,然后扭头朝楼上喊:“露娜!人来了!” “我知道!”楼上传来一个女孩的声音,闷闷的,带著点不耐烦。 男孩转回来,盯著陈哲看了两秒,忽然问:“你是中国人?” “当然。” “你会功夫吗?” “迪亚哥!”玛尔塔皱眉。 男孩吐了吐舌头,坐到沙发另一头,拿起智慧型手机开始划。 又过了半分钟,女孩才从楼上下来。她比弟弟大一点,十五六岁,头髮比母亲还长,披在肩上,穿一件oversized的灰色卫衣,下面是运动短裤和长筒袜。她看了陈哲一眼,没说话,坐到餐桌旁边,把笔记本电脑打开。 “这是露娜,”玛尔塔指了指女孩,又指了指男孩:“那是迪亚哥。露娜的计算机课成绩不太理想,马上要交一个ppt作业,希望你……” “妈。”露娜头也不抬地打断,“我自己说。” 玛尔塔耸耸肩,端起咖啡杯,没再开口。 第六章 优等生 来到这家短短几分钟的时间,陈哲就领略到了对方的家教严明。 不过这种家庭,再加上曾有一个it行业的丈夫,种种因素加在一起,也只能请自己这样一个可疑的家庭教师,未免令人啼笑是非。 美国这边的女权主义运动闹得很大,所以女性工薪其实是不比男性少的,陈哲毫不怀疑玛尔塔太太的赚钱能力,或许把自己请过来只是一种中產阶级家庭维持体面的方式吧……想到这,陈哲摸清楚了自己的定位,顿时就知道该怎么做了。 自己不需要当一个严师,也不需要教出一个高徒。 “最需要做的应该就是不要让这家人感觉到厌烦。”陈哲思索了一会儿,心中自语,顿时想好了打法。 陈哲在餐桌对面坐下,见到陈哲坐了下来,露娜盯著对方的脸出神看了一会儿,方才抿著嘴把电脑放到桌面上。 陈哲对此一幕见怪不怪,就算是在美国,他的长相也是比较清爽,符合本地人审美的。 “啪嗒。” 陈哲从单肩包里掏出自己的那一台二手笔记本电脑,熟练地开机,打开预先下载好的软体,连结对面电脑的蓝牙。 一瞬间,画面同步到陈哲的这一边。 女孩没抬头,盯著屏幕。powerpoint,新建文档,一个字没有。 “作业什么主题?”隔著一个电脑,陈哲问。 “介绍自己。” “要求呢?” 【写到这里我希望读者记一下我们域名 101 看书网解书荒,1?1???.???超实用 】 “五页以上,插图,下周交。” 陈哲点点头,没急著说话。他看了一眼屏幕右下角,powerpoint版本是microsoft 365的,功能区摺叠著。 “你平时用快捷键吗?”他问。 露娜抬头,越过一个电脑,眼神里有点茫然:“什么快捷键?” “比如ctrl加什么。” “不用。” “okay。”陈哲想了想,把电脑往自己这边转了转,手指搭在触控板上,“你之前做过ppt吗?” “做过。” “做到哪一步卡住的?” 露娜沉默了两秒:“哪一步都卡。” 迪亚哥在后面笑出声。 “闭嘴。”露娜头也不回。 陈哲也有点没绷住,不过联繫起之前的自己,绝大多数不怎么使用计算机的人確实是不太懂得这里面的门道的。 “新建幻灯片,你有几种方式?”他循循善诱地问道。 露娜盯著他,像在判断这是不是考题。 “点这个。” 思索了片刻,她滑鼠挪向工具栏的“新建幻灯片”按钮。 “嗯,这是最慢的一种。”陈哲说,“快捷键是ctrl+m,你可以试一下。” 露娜犹豫了一下,左手按下去。 一张新幻灯片弹出来。 她愣了一下。 “再按一次。” 她又按了一下。又一张。 “这个比点滑鼠快。”陈哲说,“你现在有七页了,超了两页,可以慢慢刪。” 露娜盯著屏幕,手指还悬在ctrl键上。 “你喜欢什么?”陈哲问。 “什么?” “喜欢什么。隨便什么都行,音乐、电影,或者哪个明星。” 露娜的眼神一怔。 “taylor swift。” “不错,第一页標题有了。第二页写她,配图。图片插入会用吗?” “会。” “那开始。” 露娜滑鼠动起来。她搜taylor swift,选图,右键保存,插入图片,调整大小。动作有点慢,但都会。 陈哲看她操作,没说话。她保存图片的时候,存到了桌面,一堆文件挤在一起,找起来费劲。 “你存桌面的话,”陈哲指了指,“下次可以建个文件夹,叫ppt素材。找起来快。” 露娜顿了顿,没吭声,但滑鼠移过去,右键,新建文件夹,敲了个“ppt”进去。 “第三页,”陈哲说,“写你最喜欢的一首歌,加一句歌词。” 露娜敲了个歌名出来。 “喜欢哪个版本?” “十分钟那个。” “行。歌词贴上去。” 她开始搜歌词。迪亚哥凑过来了,站在姐姐椅子后面看屏幕,露娜没赶他。 第四页,陈哲让她写除了唱歌还喜欢什么。她说睡觉。迪亚哥又笑,她扭头瞪他,但还是写上了:sleeping。 “配张床的图。”陈哲说。 “床有什么好配的。” “那就配个枕头。” 露娜翻了翻相册,找到一张枕头的照片,自己床上那个,皱巴巴的,旁边压著半截耳机线。 第五页,陈哲让她写一句话,隨便什么,给自己。 她想了很久,最后敲了一段话。 玛尔塔不知道什么时候站到了餐桌边上,端著那杯凉了的咖啡,低头看屏幕。她看了一会儿,抬头看陈哲。 “就这样?”她问。 “这一版就这样。”陈哲说,“还行吧。” “学会了什么?” 陈哲转向露娜:“你刚才用了哪几个功能?” 露娜愣了一下,像是在回忆。 “新建幻灯片,快捷键那个……插图片……建文件夹。” “还有呢?” 她想了想:“把字变大。” “怎么变的?” “选中,点这里。”她指了指顶栏的字体大小下拉框。 “还有更快的方式。”陈哲说,“ctrl+[,这个是放大,ctrl+[,这个是缩小。你可以试一下。” 露娜选中標题,按ctrl+]。字体跳了一號。 她又按了一下。又跳一號。 她脸上没什么表情,但手指又按了一下。 迪亚哥在旁边看著,忽然说:“我也要试。” “那你下来啊。”露娜头也不回。 陈哲靠回椅背,没再说话。 玛尔塔沉默了几秒,放下咖啡杯,从钱包里抽出两张钞票,放在桌上。 “下次还这个时间?”她问。 陈哲看了一眼那两张二十,点头接过:“好的。” …… 下午六点,陈哲攥著几张钞票,用钥匙懟开锁扣。 入眼,双人旧沙发上没有新添的破洞,而杰姆尼今天貌似不在出租屋里过夜,又是去找他的重金属乐队瀟洒。 对面那栋楼的光影割分出黄浊的灯块映在茶几上。 陈哲鬆了一口气,把单肩包甩在沙发上,摘掉黑框重眼镜。 作为服务员,自己在快餐店里工作的四小时的工资是三十美元,而且给的多是1$、5$这样的零钱,乔治·华盛顿和林肯的面庞交错。而家教的钱有四十美元,看到的也就是两张安德鲁·杰克逊。 第七章 第二次模擬 “家教好是好,赚钱也来得快,不过去掉路费的话……” 陈哲计算了一下,公交车要价苛刻,也没有学生卡这种东西,来回就要一美元三十二美分。 得亏自己现在有的是时间,路途之中耗费的时间可以忽略,要不然加上徒步的时间,这时薪是要低上不少的。 不过,其次的重点,是需要多找几个愿意请家教的家庭。 “以我现在的水平,线上授课很容易出现问题。”陈哲暗自寻思著:“毕竟这个计算机技术的经验还是太专注於商务,如果不是高屋建瓴地处理一下中学生的问题,容易出现紕漏。” 陈哲的这个计算机技术,被指定为lv1,还是有原因的。 他只能写crud接口、简单的报表查询,或者用pandas做常规的数据清理。 想要变得更强,最快的方式只有依靠模擬,否则就需要大量的时间成本。 在真正懂行的人的眼里,终究是入门级別而已。 “在网上开课一般都要教中学生信息学竞赛里常见的递归、动態规划、炼表操作,这些东西对於正常上班族来说早就成为了记忆里不怎么牢靠的部分,除非是想考信息教资的。” “或许对於我模擬的那个人来说曾经这些知识的掌握程度比较深,但是大学毕业多年,估计也就用进废退成了冢中枯骨。” 陈哲还是不会不自量力的去试图应聘一些it企业的。 毕竟就是人家正儿八经的计算机毕业生都投了三百份简歷被拒,更何况是自己这么一个“电脑知识大量来源不明”的社区大学学生。 晾了晾思绪,陈哲照旧打开了电脑。 然而令他没有想到的是,这一次,人生重开模擬器中,他看到模擬次数的按键上变成了灰色。 【模擬次数:1】 “第二次模擬可以开始了?” 陈哲略作思索,顿时深嘶一口气。 虽然还是不太懂积累的机制,看时间现在距离昨天模擬也没有过去24小时,但是面对眼下的这么一个机会,他还是埋头记下了上一次模擬的心得。 ——献血和乞討虽然好,但是前者叠加后者患病的概率比较高,都是没有什么积累的一次性收入。 ——可以试试看下水道躺平和社区救济。 ——结算的时候可以获得技能,这也就意味著自己可以通过选择来为自己添加经验。 ——儘量提升个人信用。 陈哲其实比较好奇的是,这个模擬究竟是只存在於纸面上的模擬,还是可以改变现实。 毕竟就他看过的模擬器小说之中,这些被模擬的对象貌似都是真实存在的…… “算了,先模擬再说。” 將这些信息整理到笔记本上。 大致想好了具体战略之后,陈哲操纵著滑鼠,按下了按钮。 伴隨著一阵界面跳动,在电脑的屏幕上,立刻涌现出陈哲现在所拥有的两项技能。 他点下了开始。 【欢迎使用人生重开模擬器!】 【点击此隨机你的身份】 光標停在那个按钮上,陈哲没动。他想了想,忽然把滑鼠移开,先点开了右上角一个之前没注意过的图標。 【当前技能】 【计算机技术 lv1:你经歷过计算机的教育,这使得你精通python、java、c++的拼写,能熟练地在stack overflow上复製代码,並能在报错时精准地骂出“这他妈怎么可能”。】 【献血经验 lv1:你熟悉社区献血点的流程,知道献全血间隔需要八周,献血浆只需要两周。你知道哪个採血站的护士换针头最敷衍,哪个会给橙汁和饼乾,哪个周五下午人少不用排队。你的血管里流著代金券,儘管比起真正的行家还差得远。】 两行介绍,安安静静躺在那里。 陈哲顿时微微一怔,计算机技术lv1確实是自己上一次模擬里就出现了的固定选项,可这个献血经验lv1不是。 “居然可以继承技能?”陈哲宛如发现了新大陆:“那这个身份可不可以继续用上一次的?” 陈哲立刻勾选了这两个技能,隨后开始模擬。 【你携带了计算机技术lv1和献血经验lv1】 【你是一名it企业“被辞职”的员工,现在你的第三百封面试信被明確予以拒绝。】 【新年伊始,万象更新。】 【这个月里,你邋遢的外貌受人怀疑,行动点-5,生命值-5。】 【请选择你在这个月里完成的事件,或直接结束本月份行动。】 陈哲扫了一眼能干的事情,依旧是那一套献血、乞討、发薪日贷款,至於自己的面板也是和第一次模擬的时候別无二致。 【行动点:47,生命值:32,信用值:426,存款:$27】 “还好,能模擬相同的身份的话,只要一次又一次地试错,总会有活下来的机会!” 陈哲眸光闪烁,顿时开始了操作。 【行动点-10】 【你选择了发薪日贷款,你获得了25点行动点,和五千美金。】 【註:十二个月內只能借贷两次。】 【行动点-10】 【你再次选择了发薪日贷款,机构审查了你的信用记录后摇了摇头,可看在利息的份上还是批准了。你获得了25点行动点和五千美金。帐户余额突破五位数,这种感觉已经很久没有过了。】 【……】 【(行动点-20,生命值-5。)你在社区献血,发现原来像你一样的人还有很多,两个手臂上都有针眼,右胳膊吸毒,左胳膊献血。你获得了两千三百美元。】 【(行动点-20,生命值-5)你在社区献血,护士看著你的左臂摇了摇头,让你换右臂。你获得了两千三百美元。】 【(行动点-30)你在街头乞討,拋弃了所有的尊严之后,你神奇地规避掉了危机,並获得了2500美元。】 【行动点:7,生命值:22,信用值:426,存款:$17127】 【是否结束本月】 一万七千一百二十七美元! lv1的献血经验被动之下,每一次献血获得的钱財都比之前高了100美元。 “是!” 陈哲的第一个月直接快进。 毕竟在他看来,上一局里自己之所以会输,全部都是因为第二个月发生的事情! 第八章 现在我什么都不缺了! 【你遭遇了挫折!】 【信用卡帐单日,第 1月,帐单摆在面前,还款日还有三周。你盯著那个数字,开始权衡……】 “全款还款。”陈哲几乎没等加载完就选择了第二个。 【你选择了咬牙全额还款,你看著银行余额从五位数变成四位数,心在滴血,但至少你不用给银行打工还利息了,你失去了$8100,信用值+5。】 【第二月开始。】 【二月。 最近身体好像有点不对劲。 不是那种感冒发烧的不对劲,是一种说不清的异样感。 有时候突然心悸,还会头晕,一口气喘不上来。 你告诉自己:可能是最近太累了,休息一下就好。 但这话你已经对自己说了两周了。 你打开webmd,输入症状,搜索结果嚇了你一跳—— 可能是压力大,也可能是心臟问题,也可能是…… 你赶紧关掉页面。不查了,越查越慌。 你想去医院看看,但为省钱没有保险,起步几千刀。 如果要做心臟治疗什么的... 你看了看银行余额,又看了看那个搜索结果。 也许再等等,说不定自己就好了。 金牌讲师说:健康是最大的財富! 问题是:保护这份財富的费用,你付不起。】 “二周目就是爽啊。” 陈哲喃喃自语,关注起了自己当前的血量。 当前生命值是22。 “当务之急的是把血量先叠到60以上。”陈哲略作思索,顿时打开了行动界面。 到了二月份,可以进行的行动就变多了。 首页除了卖血、乞討之外,多出了一个“为店家看门”。 【为店家看门:“把你的帐篷搬到店家门外,当看门狗”(消耗50行动点,2生命值)】 而与此同时对应的,是行动点恢復100。 【行动点:100,生命值:22,信用值:431,存款:$9027】 “有了行动点,其他的数据都能想办法增长。到目前为止我的金钱应该是足够的,那就先完成其他行动再看看有没有多赚点钱的机会。”陈哲喃喃自语,挪动著红点。 他直接忽略掉了看门选项。 在上一局里,陈哲就是选择了这个“为店家看门”的选项。 想法很好,奈何这玩意儿的现实很骨感。 支个帐篷在店外,最先招呼的就是枪击,躲过去了还好,没躲过去哪怕是擦伤也够受的,险些把生命值扣到零。 最后在医疗上浪费了自己许多行动点,间接导致了自己没有钱挣,最终被房东驱逐出去。 “失业就是这样,没有稳定收入。如果有稳定收入的话,相当於每个月直接免了一次花费行动点的机会。”陈哲喃喃感慨了一句,隨后直接转移到医疗的界面。 迎面而来的是四种行动方式。 【沃尔玛过期药:“清仓区淘宝,过期三个月应该还能吃”(行动点-15,花费$200)】 【去墨西哥买药:“跨境医疗,美国人传统艺能”(行动点-30,花费$1000)】 【急诊室蹭治疗:“50%白嫖成功,50%被识破”(行动点-30)】 【社区救济站:“排队6小时,每局限用3次”(行动点-35,不扣除钱財,但有可能染上强化剂)】 “还好我有点钱。”陈哲选择了比较稳妥的“去墨西哥买药”。 虽然花费1000美元,但是比起其他三个选项来说,已经算是作为一个底层人能接触到的最安全的方式了。 过期的药物会不会滋生什么奇怪的细菌,他心里没底。 急诊室蹭治疗,这更是会被打死的狠活。 至於强化剂……作为从禁毒大国过来留学的陈哲,当然是这辈子都不会碰这玩意儿。 而比起美国的贫民窟,墨西哥倒也算不上那么危险。 【行动点-30】 【你发动了你的汽车,前往墨西哥。】 【边境检查站排了三个小时的队,终於到了蒂华纳,你在街边找到一个掛著“farmacia”招牌的小店。店主是个墨西哥老头,英语说得比你还流利。】 【“心臟不舒服?心悸?头晕?”老头扫了你一眼,“我给你拿点好药。”】 【他递给你一盒没有英文说明的药片,收了你$800,还给了你$20找零。】 【你愣住:“不是$1000吗?”】 【老头眨眨眼:“那是给游客的价格,你看上去像个懂行的。”】 【你突然灵机一动,询问向了老头:“你叫什么名字?”】 【老头仔细打量了一番你,见你脸上的神色,猜出了些许你的遭遇,似乎是有个名字脱口而出,想了想,却还是没有说出口。他嘆了一口气,让你离去。你只好照做。】 【回境的路上,你吃下了那一盒不明处方药,果不其然你的健康情况得到了恢復(生命值+25,金钱-$780)】 “白赚220美元啊。”陈哲看著弹出来的模擬信息,顿时惊了。 看来模擬器里的介绍也不一定是必然的。 陈哲看了一眼生命值,这玩意儿立刻恢復到了47。不过与之相对的,便是墨西哥买药的选项暂时黯淡了下去。 似乎还没有达到他所想要的60生命值。 陈哲当然不会在医疗的其他三种方法上死磕。 他立刻翻到最后一页。 【下水道……】 【教会救助:“社区教会的免费援助,资源有限,每月只接待一次。”(消耗20行动点)】 下水道躺平这玩意儿会扣信用值,因此陈哲直截了当选择了第二项。 【(行动点-20。)教会救助完成。“上帝保佑你,孩子。”你的生命值+15,金钱+$500】 【当前面板】 【行动点:50,生命值:62,信用值:431,存款:$8747】 “生命值60以上。” “信用值431分。” “存款接近九千美元!” 陈哲嘴角微微上扬,有了上一局的经验,他当然知道自己接下来应该怎么做,那就是攒钱。 信用值在300以上就是安全,不会影响到日常生活。 而生命值满格100的情况下,60以上也代表到达了正常人的临界点,熬过这个月就不会得什么病了。 没有病症,攒到足够的钱,然后在租舍里消磨时光,就算是生活稳定。 只要稳定下来,就有学习计算机技术,找到it岗位工作,甚至在结算时刻为自己增加技能的机会! 念及至此,陈哲最后点击了一下乞討。 【乞討:“拋下尊严吧”(消耗30行动点)】 【(行动点-30)回国之后,你由於失业只能开始乞討,一个月的时间过去,你获得了2500美元。】 现在的存款是$11247。 “我现在什么都不缺了!” 陈哲眸光闪烁,触摸板上手指滑动:“结束本月。” 第九章 完美无缺的计划 伴隨著红点移动到结束本月,这个月的挫折也浮现而出。 【身体亮红灯 第 2月,经过漫长的预约地狱,医生说需要做一个小手术,不做的话情况会越来越糟。手术本身不复杂,但术后需要休息,恢復期对体力是个考验。 一、立即手术。 花钱做手术,好好休养。钱花了不少,但身体恢復得最好。 代价:-12生命值,-$6,240 二、拖延观察。 先吃药控制,看看能不能不做手术。花点小钱买药,但身体风险增加。 代价:-52生命值,-$3,450 三、硬撑不治。 完全不治,忍著继续上班。省了钱但身体会越来越差。 代价:-101生命值 ——有人说现在医院排队长,拖一拖说不定问题自己就好了。也有人说小病不治拖成大病,会生迪斯科米。】 “选二。” 陈哲並不差钱,但是把生命值抬上去就是为了这一刻,选项一和选项二之间差了两千七百九十美元,然而这中间消耗掉的生命值,顶多去墨西哥治两次病就能够救回来。 更何况,到了第三个月还会有更多的医疗项目。 【药吃了一个月,症状確实缓解了一些。也许真的不用动刀,但你知道这只是在赌。你的生命值-52,金钱-$3450】 【第三月开始。】 【本月没有发生任何足以在月底威胁到你的事情,如你所愿,你获得了短暂的安寧。】 【触发幸运事件:你获得了一位爱心人士的帮助,信用值+10,行动点+10。】 【行动点:110,生命值:10,信用值:441,存款:$7797】 到了第三个月,陈哲的各项指標之中,除了生命值变成了岌岌可危的10,其他方面几乎没有任何面临危机的可能性。 而在医疗的界面里,陈哲也看到了三个不限次数的医疗方式。 【兽医买药:“绝命兽医,不过问用途,吃死不管。”(消耗30行动点,-$50)】 【在读本科黑医:“找在读本科医学生作为练手素材,便宜但毫无从医经验”(消耗35行动点,-$80)】 【印度仿製药:“网购仿製药,便宜但有信用风险”(消耗25行动点,-$200)】 “终於到了该信用值起作用的时刻了。” 陈哲深吸一口气,掠过其他一系列的先前选项,把目光看向了印度仿製药的一栏。 “上一局基本靠这个续命,不过这局的话,倒是能够安心一点。” 既然这个月底不会触犯什么大事件,那么就根本不需要关顾信用值和生命值以及金钱之中的平衡,没有必要留有余地。 其他两个新增的医疗项目都属於可能倒扣生命值的。 鑑於安全起见,陈哲以苟为主,准备把行动点全部用来购买仿製药。 念及至此,陈哲连续点击了四次印度仿製药。 操作之下,一行行字幕迅速映入陈哲的眼帘。 【你难得有了一个不需要怎么操劳的月份,这个月里,你仿佛不再是那个流落街头的失业人士,而是依旧维持著体面的亚裔程式设计师。】 【你渐渐想起自己的名字……】 【(行动点-25,-$200。)药品三天后寄到,用一个棕色纸盒包装,没有任何標识。你拆开看了一眼,跟自己之前在医院拿的药片长得差不多。你吞了一粒,没什么感觉。药效开始发挥作用,生命值+8。】 【(行动点-25,-$200)药品准时送达。这次盒子里多了张纸条,手写的,歪歪扭扭英文:“一日一次,一次一粒,不要喝酒。”你盯著那张纸条看了半分钟,把药吞了。生命值+8。】 【(行动点-25,-$200)这次寄来的药片上压著字母,你仔细辨认了一下,是“cipla”——印度最大的仿製药厂。你忽然有点感动,至少这次不是三无小作坊出的。生命值+10。】 【(行动点-25,-$200)药到了。你数了数,四次一共买了二十天的量。你盯著桌上那一小堆棕色纸盒,把今晚该吃的那粒吞下去。生命值+8。】 【幸运女神似乎总是在眷顾著你,你的操作並没有为你的信用留下半点踪跡。你不知道自己是该高兴还是该忧愁,但是好在吃著吃著身体总算有了点强壮起来的跡象。】 【“难道我真是耐药性大王?”你欣然心想。】 【行动点:10,生命值:44,信用值:441,存款:$6997】 “还有十个行动点。” 陈哲看著这一幕,顿时也不再犹豫。 早在开始这一次模擬的时候,他就已经想好了自己要做什么。 要尝试一下“下水道躺平”! 根据之前在demo版本里面积累的经验,陈哲深知这一页的內容基本上都是为了给自己增添行动点而准备的。 恰好的是,信用值441,显然也不会因为这么一次躺平触发斩杀线。 “来!” 【下水道躺平:“应急恢復行动点的好方式,只不过被目击到会威胁到你的个人信用”(不消耗行动点)】 【你找了一处废弃地铁站的下水道,令你感到意外的是,这里竟然出奇地平坦,而且还能找到一些废弃的药片,闻著淡淡的药香,你感慨:“比起喧囂的城市生活,还是这里舒服。”】 【裹著纸板躺了一夜。三月的风从铁柵栏缝里灌进来,冷得你缩成一团。但你实在太累了,居然睡著了。】 【早上七点,你睡了个自然醒。一个裹著垃圾袋的流浪汉站在三米外盯著你。你们对视了五秒,他转身走了。次日,你的照片出现在了社交媒体的视频里,你只好解释那是人工智慧生成的。】 【你会成为下一个史莱姆吗?行动点+10,生命值+5,信用值-30。】 【行动点:20,生命值:49,信用值:411,存款:$6997】 “相当於拿信用值换行动点啊。” 陈哲没有多虑,直接拿著20行动点选择了社区救济。 【社区救济:“获得少许的钱和少许生命值”(消耗20行动点)】 【月底,你去了社区教堂的救济站。今天是周二,人不多,不用排队。志愿者给了你一袋食物——两罐焗豆、一盒饼乾、一加仑牛奶、半条麵包。】 【你坐在教堂后排的长椅上,把牛奶打开喝了一半。窗外有鸽子在飞。】 【生命值+20】 【当前面板】 【行动点0,生命值69,信用值411,存款$6997】 【是否结束本月】 “结束本月。” 陈哲儼然越发轻车熟路,下个月的目標,就提升信用值和存款好了。 …… 第四月、第五月、第六月、第七月、第八月、第九月、第十月、第十一月……皆是有惊无险。 转眼间,就到了第十二月。 【第十二月开始】 【圣诞的气氛渐浓,你被公司辞职的一周年即將来临,这个时候,你终於想起了你的名字。】 第十章 得到提升的程式设计师技能 【行动点:100,生命值:89,信用值:588,存款:$9432】 【请为这个亚裔程式设计师命名】 “陈哲。” 陈哲向来实名上网,大手一扬。 【你想起了你的名字叫陈哲,以及作为一个程式设计师打拼出人头地的愿景。】 【你决定为自己找一份工作,在那之前你可以提升自己。】 【月初无事发生。】 陈哲望著眼前弹出的提示,若有所思。 “可以提升自己了?” 他本来已经玩了半个小时有余,决策之下略显疲劳,但看到总算能够达成目的,还是眼前一亮:“维持生活的前提下,学点技术试试。” 陈哲熟练地翻到最后一页。 只见在下水道躺平、教堂救济的两项之外,多出了几个其貌不扬的选项。 【重拾旧业:“你开始重新翻看高中时代的计算机课本,这是维持手感的最低手段”(消耗30行动点)】 【自学网课:“udemy打折,买了三门课,放在收藏夹里吃灰”(消耗30行动点,-$150)】 【参加线下meetup:“程式设计师聚会,一半人聊技术,一半人聊跳槽”(消耗70行动点,-$50)】 “全是行动点大户啊。”陈哲貌似有点理解这玩意儿为什么要放在下水道躺平的旁边了。 通常来说,下水道躺平是用30信用值换10行动点。 本来陈哲打算给自己找一份计算机相关的工作,但是从目前的选项中还看不出来这么一个苗头。 那么事已至此,陈哲就只好先提升一番计算机了。 “那就全都来一遍吧。” 陈哲想了想,当即出手,在“下水道躺平”上点了三次。 【虽然不知道是怎么想的,明明是来找工作的,你却又来到了下水道。】 【“又来了陈sir?”你的朋友们见到你的到来,皆是一脸惊喜。其中有一对白人夫妇是你在五月份认识的。你对他们一阵寒暄,他们也感慨说你的气色越来越好了。】 【你感慨著在美国只有在同为流浪汉、没有贫民窟帮派的时候才能没有种族歧视,一边盘坐下来。】 【“我已经有一个月没有听说史莱姆的故事了。”你说。】 【“什么,你又想听史莱姆的故事了?”白人史密斯夫妇一脸错愕:“那好吧。”】 【前几天暂住在这里的何塞死了,他是来自墨西哥的非法移民建筑工,为了女儿的美国梦,付出了生命的代价。】 【他因赌博欠债,腿被工头从脚手架上踢下摔断,伤口化脓生蛆。15岁的女儿安吉拉为给他买止痛药並还债而被迫卖身。他曾希望女儿生下孩子以换取全家身份,最终在这个即將到来圣诞节的十二月里死於双重肺炎,遗言是“对不起女儿”。】 【听完了故事之后,你不由哀声嘆息。】 【这里是下水道,没有身份,也没有肤色,你来到这里就像是来到了一处城市之外的聚落,削弱了对糟糕社会的感知。】 【“火腿肠分我一点吧,史密斯。”你对著身旁的那个格子衫眼镜男说。】 【你在这里呆了三天,似乎是龙场悟道,又或者是听了那些悲惨的故事开始感慨自己这一路的不容易,再次走出来的时候心境豁然开朗,除了身上有股容易被人嫌弃的怪味。行动点+30,信用值-90。】 【当前属性】 【行动点:130,生命值:89,信用值:498,存款:$9432】 “把有关学计算机的全学一遍。” 陈哲毫不犹豫,结束了下水道躺平之后,就不负初心地把重操旧业、自学网课、参加线下meetup全选了一遍。 【从下水道回到家里后,你洗了个澡,心情舒畅。】 【果不其然,你的银行信用又降低了,似乎是有收尸人在下水道附近晃悠的时候看到了你,一般来说,你这样的人被认为是他们的预订“高达”,大抵这也是你信用消失的原因。】 【(行动点-30)你已经想好了自己要找一个工作,可惜的是迄今为止的每一份简歷都大写著失败,你翻开高中时代的计算机课本,那些曾经烂熟於心的概念现在看起来既熟悉又陌生。tiplexity、递归、stack overflow……】 【好在这些东西你曾经熟悉过,因此哪怕当了社畜之后功力散尽,也还是掌握了回来。】 【(行动点-30,-$150)udemy的网课买了三门,《python进阶》《系统设计入门》《leetcode刷题班》。你看了两节课,然后发现《python进阶》的老师口音重得你听不懂。你换了《系统设计入门》,第一节课讲的是“什么是资料库”。你默默关掉视频,心想这钱白花了。】 【因为这些课程本身没有什么营养,所以你什么都没有学会。后来心血来潮重新看了一遍,即便看到很后面,也没有什么深刻的知识。】 【(行动点-70,-$50)周六晚上,你去了布鲁克林一家酒吧楼上的meetup。主题是“ai在金融科技中的应用”。你站在角落里喝免费的苏打水,听一个西装革履的印度人讲他们公司怎么用机器学习预测信用卡违约。你一句都插不上,但散场的时候你鼓起勇气和一个看起来面善的白人交换了联繫方式。他说他叫麦克,在一家小创业公司做后端。】 【拿著电话號码,你觉得你收穫了人脉,这倒也確实,毕竟你平时的那些朋友都是些狐朋狗友——当然,除了那个你很久没有去造访的墨西哥药店老头。】 【你已经没有精力去做別的事情了。】 【是否结束本月】 “结束本月。” 陈哲十分清楚行动点这玩意儿和精力掛鉤,一般来说行动点归零那就是san值归零,再低下去就会变成精神疾病患者。 “墨西哥药店老头?”看著这个名词,陈哲的脑海里忽然浮现起二月份那个为自己开出处方药的不报姓名的老人,如果没有对方,自己的生命值恢復不到60。 “下个月多卖点血,然后再去找他一次好了……” 陈哲念及至此,缓缓挪动红点,点向了结束本月。 界面一阵白。 【模擬次数已耗尽】 【模擬评价:一切都在稳中向好……吗?】 【结算奖励:lv2计算机技术(覆盖)、lv1献血经验、一串被记录在名片上的电话號码】 第十一章 来电 “结束了?” 看著电脑屏幕,陈哲一阵傻眼。 此刻已经是傍晚六点四十分,这一局他游玩了整整四十分钟,刚好是进入心流的阶段,结果这就没了? 还以为是个类似文明的游戏,一杯茶,一包烟,一个游戏玩一天。 陈哲片刻错愕之后,紧接著立刻安静了下来。 结算的奖励纳入体內。 豁然开朗。 【计算机技术(lv2):】 【你开始理解,所谓“重构”,其实就是把之前从网上粘过来的五段代码,换成另外六段看起来更高级的。准確来说,现在的你才真正有资格辅导初高中的学生……你懂的,说的是中国人。】 【献血经验(lv1):】 【对比之前,没有任何进展,除非你能够知道为什么献血的需求这么大。】 足足半分钟过后,陈哲才渐渐感觉到眼前的世界黯淡下去,仿佛被打了个闪光弹。 “怎么感觉比上一次更轻鬆?” 看著自己出汗的手,陈哲抽出纸巾擦了擦手汗,若有所思。 或许是因为有了上一次的lv1计算机技术打底,陈哲这一次倒是没有什么虚假的回忆增加了的感觉,更多的感觉就是脑海之中的知识渐渐形成了一个体系。 如果说,以前是代码知识的肌肉记忆,生搬硬套。 那么现在就是知其然而知其所以然! 从“这么写能跑”到“为什么这么写能跑”的差距! 而且,这一次比上一次的更加专业。 这种专业或许与难度无关,最主要的是基本上作用不到生活中,就像是应用物理和理论物理。 “这下能去网上开网课了!” 陈哲不由感慨。 “网上一直都在说屎山代码屎山代码,但实际上每个屎山代码,能跑起来,就说明有它的一套逻辑。” 陈哲总算感觉到了一点瓶颈期的意思,按照他个人的评判,这一套体系应该已经很完美了,几乎让他感觉到自己触碰到了程式语言的创造者的思维。 到了这个阶段,就已经很难寸进了。 “不过这个献血经验……”陈哲看著技能槽里的敘述,心中渐渐泛起思绪:“献血的需求为什么总是源源不绝?” 他本来寻思著,自己这一次的模擬,金钱来源几乎全靠卖血,怎么也得把献血经验提升到lv2、 lv3。 但是现在看到这么一个提示,他的心里也隱隱有了点猜测。 “这次模擬肯定不会就这么结束了,看来还是需要等新的模擬次数加载出来了再说。” “不过在那之前,先看看这个电话能打通么?” 陈哲注视起了自己的最后一个奖励。 “一串被记录在名片上的电话號码” …… 同一时间,moxy时代广场酒店。 麦克住在公司报销的客房里,这几天公司里没活,他总算能休息一会儿。 “叮铃铃~” 伴隨著一阵铃声响起,他那敦厚显老的光头脸庞微微一怔,抬手从床边拿起了电话。 “hello?” 麦克的声音透过听筒传来,带著一点刚睡醒的沙哑,又或者只是懒得清嗓子。 电话另一头,陈哲顿时微微一惊,这居然是个活人? 他想了想,不打算暴露自己的真实身份:“你好,我们在meetup上见过,还互换了联繫方式。” “噢,我每个月都会去一次meetup……” 听到这句话,麦克喃喃自语:“听你有点中国口音,可我实在没有在meetup里见过中国人……或许是忘了,实在抱歉。” 麦克嘆了一口气:“好在你赶上了我的休假,想问什么问题直接问吧。” 听到这么一番话语,陈哲也算是明白了,要么是时间没到,要么模擬就还是模擬。 陈哲和这些操劳的程式设计师本来也不是一丘之貉,毕竟每天写代码的代价就是禿顶,好在模擬之中也可以积累这些人的人脉,顿时心情略显愉悦了起来。 “那么我就废话少说了。” “嗯。”麦克的喘息粗重。 陈哲思索了片刻,快速归因了自己的遭遇,並打算让对方出一份主意:“我现在是失业人士,想通过编程技术赚点外快,我该怎么营销?” “你之前在it公司里上班么?”麦克的声音从那一头传来。 “嗯,我现在想教点网课。”陈哲在这一方面倒是没有什么避讳,毕竟他敢打这么一个电话,就確信了自己的人设得分开立。 让人看不出来这个是他。 “恕我直言,兄弟,线上网课这个东西也得你先有了工作才有资格让別人付费,要不然別人怎么会给一个失业鬼付费呢?” “这行就这样,”麦克继续说,背景里传来悉悉索索的声音,像是在翻找什么东西,“我当年毕业的时候,投了四百多封,最后拿到两个面试,一个掛了,一个给了我offer——就是现在这家。” “我那时候住在皇后区一个地下室,月租四百,没有窗户,早上分不清是几点。连著吃了三个月泡麵,最后看见泡麵就想吐。我唯一的娱乐活动就是去公共图书馆蹭网投简歷,因为家里网费交不起了。” “现在我年薪五万美金,比失业的人强了太多……” …… 掛断电话之后,陈哲渐渐了解到了有职业的程式设计师究竟是什么样子。 如他所料,有一部分人极度確信自己不会坠落到斩杀线。 “身为亚裔,我在找工作这方面肯定是有劣势的,加上f-1签证的问题,这种工作就是在挤占快餐店的服务员时间。” 陈哲嘆了一口气:“可以说,现在的我就是在失业边缘游走。” 麦克和他谈了许多內容,並且给陈哲发了一个纽约城市程式设计师交流群,陈哲点击了申请加入,虽然到现在为止还是没有通过的跡象。 “想要让非程式设计师的人相信你是程式设计师,或者说確立受眾,只需要拎出一个可信的证据就行了。” 陈哲一边註册著帐號,一边想起麦克在电话里泄露的种种个人信息。 毕业面试信投不过、unpaid实习干了四个月…… “这些都是在视频网站上开网课的资粮啊!” 陈哲心中不由对对方升起一抹感谢。 这么一来,陈哲就拥有了家教和网课教师的两种职业。 立了人设之后,就看真才实学。 而论真才实学,陈哲並不觉得现在的自己比那些小v要弱多少。 —— 本书已签约。明天开始双更。 第十二章 留学生文件 十一月的上午久违地来了次晴天。 长岛商学院的楼夹在一家修车厂和一家波兰肉铺之间,外墙的蓝底白字招牌有点褪色,右下角缺了一块,不知道是掉下来的还是被人踹的。门口台阶上蹲著两个学生在抽菸,看见陈哲路过,眼皮都没抬一下。 陈哲推门进去。 一楼走廊里瀰漫著一股陈旧的咖啡味,混著清洁剂和不知道哪个教室飘出来的消毒水气息。天花板上的日光灯有几根坏了,忽明忽暗地闪著,把走廊切成一段一段的明暗区间。 国际生办公室在走廊尽头,门半开著。 陈哲敲了敲,没人应。他探头往里看,露西亚不在。办公桌上堆著一摞文件,电脑屏幕黑著,旁边的咖啡杯里还剩下半杯,表面结了一层奶皮。 他靠在门框上等。 走廊那头传来脚步声,一个抱著文件夹的黑人女生匆匆走过,经过他身边时多看了一眼,然后继续往前走。 陈哲已经在快餐店里上过早班,因为到了周一,所以不得不来到这里维持学分。 露西亚一般十一点到,应该还有几分钟。 陈哲本来打算等对方来找自己续签留学生文件,毕竟一个月前他在学校里稍微出了点事,身为国际生秘书,对方在这方面確实催的很紧。 走廊尽头的光管又闪了一下。 陈哲看了一眼手机。 “嗯?” 陈哲驀地一怔,原来不知不觉已经过了时间! “露西亚没来?”陈哲喃喃自语。 “哦,你说她啊?她有事。”一个与陈哲並不相熟的俄国留学生抽著烟,身高比陈哲略矮几厘米,开口说:“请假了。” “多谢。” 陈哲並不逗留,直接离去。 “嘖。”俄国留学生只是笑了笑,吹了个口哨,几个人影聚在他的身边,看著陈哲渐渐消失在视野里。 “陈,你差点惹了谢尔盖!”杰姆尼快步走到陈哲身边。 “我知道。” 陈哲知道对方话语之中提到的谢尔盖就是方才那个疑似要找事的俄国留学生。 “你从他面前走过去,没打招呼,没点头,什么都没做。”杰姆尼追上来,压低声音,“谢尔盖那人你又不是不知道,上个月那个印度人——” “那是上个月。” “才一个月。”杰姆尼强调,“那个印度人现在还在皇后区不敢回来上课。” 陈哲不知为何感到有点喜感:“我们这社区大学,上课不过是修学分罢了。” “我是在为你的安全考虑,好么,老兄!” 杰姆尼昨晚似乎是熬了一夜,黑眼圈上下抖动,语气略显激动。 更新不易,记得分享101看书网 “我自有分寸。” 陈哲点了点头。 长岛商学院终究是社区大学,而社区大学通常是留子的聚集地,百分之三十的华人,百分之三十的美国本地人,其他就是各国外地学生。 这也就是为什么社区大学混乱。 教室之中。 陈哲听著百无聊赖的通识课,一边在抽屉下打开手机,手机上显示出一个通知。 【你已加入“布鲁克林区程式设计师交流群”】 这也就是昨晚麦克在社交软体上拉陈哲进入的群聊。 “哦?” 陈哲看著群聊的內容,顿时眉头微微蹙起。 【麦克:这位是我的一位朋友,昨晚看他还没有进入我们的俱乐部,便向著管理者提了申请。】 【陈:大家好。】 陈哲输入完大家好之后,便发现这个群聊的人数不菲,有著四五百之眾。 美利坚这边的人和中国人起网名的方式不同,群里一串英文名夹杂著俄语和西班牙语的拼写,偶尔蹦出几个中文拼音。陈哲扫了一眼,有人用“brooklynboy88”,有人用“natasha2023”,还有一个直接叫“javaislife”。 x推的群组有翻译功能,儘管这些暱称里面有一些,但是陈哲为了自己的方便,还是一律翻译成汉语。 隨著陈哲简单调试,翻回界面的时候,眼前顿时出现了一眾刷新出来的消息。 【书虫:欢迎新人,我想我们群里又会再添一员猛將。】 【小王子:中国人?不会是那些用著日本动漫头像的狠人吧?】 【爱来自冒险家协会:wtf?你能不能正常点?据我所知也不是所有的中国程式设计师都那么极端。】 【小王子:没什么,只是想起了不好的记忆。】 【爱来自冒险家协会:@陈,不要与这个群员计较,在我们这个群里对於来自中国的程式设计师,说到底有点纠葛。】 “这么確定我是中国人么?”陈哲看了一眼自己的帐號,確实挺有那个味道。 毕竟他关注了相当一部分的中国计算机语言博主。 【陈:我平时可能不会怎么在群里交流,喜欢潜水。】 【书虫:噢,看来你也是个潜心学习的!不妨看看我在群组文件里上传的教参,各个阶段的都有,很全面。】 【陈:果真如此?】 【麦克:@陈,是的……好吧,恕我直言,我不得不承认的是书虫的才学,这个群里虽然都是一些做后端的,但是也有几个追求更高的编程技术的人,其中他就是魁首。】 【小王子:我作证,麦克是正確的。】 【爱来自冒险家协会:我作证,麦克是正確的。】 群里一阵復读。 陈哲若有所思,各个阶段的教参,这算是秘籍么? 陈哲確定了一下自己现在的段位,打开群组文件,一个个地翻阅过去。 群组文件里躺著一排pdf,文件名密密麻麻挤在一起,有的带著年份,有的带著版本號,还有的直接就是乱码。 陈哲从上往下翻。 《python crash course》——入门神器。 《automate the boring stuff with python》——也是入门级的。 《clean code》——这本书有点意思,讲怎么写代码才不被人骂。 《designing data-intensive applications》——这书名他见过无数次,不过之前从来没打开过。 《leetcode刷题笔记(中文)》——好像没看过。 陈哲盯著最后那个文件名看了两秒,倒是第一次见到简体中文的刷题笔记这种东西。 “社畜会看这东西大抵也无可厚非,毕竟你所热爱的就是你的生活。”陈哲大抵明白群里面是个什么气氛了。 —— 晕,试水推原来需要五天內更新两万字,那么今天依旧一更,明天五更补上。 第十三章 网课教学 下面还有一堆学习资料。 陈哲意识到,这个书虫上传的东西估计一时半会儿看不完。 这种阅读量说是活书库也不为过,陈哲都有点怀疑对方是不是跑了个软体把所有公开的教材都下载进来了。 退出文件下载界面,陈哲也顺带著退出了聊天,把手机重新隱匿起来。 听完必修的几节课,陈哲见到其他的课程不扣学分,就顺著楼梯离开了学校。 长岛商学院,真实面目不过是一座写字楼,校方管理倒也不严。 陈哲並不怎么把这东西当成真正的大学来看待,是让他进入这所学校也多半是因为这里可以当跳板。 毕竟陈哲早就不是高中的年纪,如果再年轻几岁来美利坚的话,说不准还能当北美高中生,可现在这个年龄过来,就只好走先社区大学再正常大学的歪路。 2025年末的美利坚,斩杀线一事被嘮成典型,自打老马的政府效率部解散之后,fbi和国税局便是西大唯二还算有点效率的部门。 陈哲走到街头的时候,几乎直接被警车在人行道上相撞,好在最后有惊无险。 伴隨著陈哲回到公寓,他的手里也就多出了一叠列印文件。 …… “杰姆尼,你这是要走?” 陈哲望著背了个不知是什么杂牌贝斯的杰姆尼,有点疑惑地询问道。 “是的,我们的乐队过几天就开始第一次地下演出,今天我得去排练。” 杰姆尼喝下一口red bull,微醺一般翻著白眼,摆了摆手,就穿著一身破破烂烂的破洞夹克,钥匙叮噹作响,离开了公寓。 窗外已经完全黑了。 晚上七点。 “这公寓租的够值,室友还是个夜不归宿的主子。” 陈哲有点没绷住,他盯著那扇被杰姆尼摔上的门看了两秒,收回目光:“那么,该开始网课了。” 要知道在美利坚这地方,公寓和出租屋根本不是一个价格。 公寓的价格可以低到与地下室相比,因为在这里毫无隱私可言,你有很多个室友。而较为舒適的出租屋比较注意隱私,这就导致了一个月的租金有可能达到几千美元之多。 而在这种平价公寓里,想要维持生活就只需要八百美元就够了, 客厅安静下来,隔壁印度菜的咖喱味准时飘过来,混著老木头和灰尘的气息,在这间逼仄的屋子里慢慢发酵。 陈哲把那叠列印文件放在茶几上,在沙发上坐下。 他把电脑翻开,看著自己paypal帐单上的数目,离父母的打款还有一段时间。 存款:$1247。 房租:$800,下周一交。 水电煤气:$85。 今天是2025年11月20號。 算上每一天的饭钱,存款的1247美元其实是不够的,毕竟去掉了合租和水电煤气的费用就只剩下362刀,每一天的饭钱又怎么可能只花费三十刀左右。 剩下的钱要撑到下个月发工资,快餐店那点现金收入,加上家教每周四十,满打满算能凑个一千二三。 “要是能去应聘工作,我倒是也想应聘,可惜就可惜在我是个学生,就算能得到那5万美元的后端程式设计师offer也干不了。” 陈哲若有所思,噼里啪啦地在个人主页的简介里写上毕业面试信投不过、unpaid实习干了四个月诸类种种令人相信的事实。 隨后,他开始录製他的第一期网课视频。 陈哲把列印出来的那叠文件放在膝盖上,最上面一张正是《python crash course》第一章的节选。纸是学校机房顺的,边角还带著装订孔,列印质量一般,有些单词的字母e和a糊成一团,但凑合能看。 他调整了一下笔记本电脑的角度,让摄像头对准自己,又看了眼屏幕右上角的预览框——画面里是个二十出头的亚洲男生,背景是廉价公寓发黄的墙壁和半截窗帘,灯光不算明亮,但至少人脸是清楚的。 “就这样吧。” 陈哲点了录製键,看著秒数开始跳动,开口说话。 “如果你点进这个视频,大概是想学python,但不知道该从哪开始。书店里的大部头太厚,网上的教程要么太浅要么太跳,或者你就是单纯不想花钱买课。”他顿了顿,举起手里那叠列印纸晃了晃,“巧了,我也是。” 屏幕右上角的自己看起来还算自然。 “我手里这本《python crash course》,eric matthes写的,算是python入门里比较经典的一本。但我没买正版,因为我付不起四十刀。”陈哲把纸放下,语气平平的像是在陈述事实,“这叠纸是我在学校印表机蹭的,如果你觉得这样不好,你现在就可以关视频,去亚马逊下单。” 他扫了眼秒数,刚过一分钟。 “好,留下来的人,我们开始。” 陈哲把列印纸翻到第一页,第一章的標题是“getting started”,下面列著安装python、第一个程序、变量和简单数据类型。 “安装python这部分我就不废话了,官网下载安装包,下一步下一步,记得勾选『add python to path』,这是唯一需要注意的。mac和linux自带python,打开终端输入python --version看一眼版本,不是太老就行。” 他说得很快,像是早就知道这些步骤对真正的小白来说其实没那么简单,但他没打算在安装上浪费太多时间。 “装好了?行,我们开个文本编辑器,別用word,用记事本或者vs code都行,没有就去下个vs code,免费。” 陈哲把列印纸翻到第二个小节,上面印著第一个示例程序:print(“hello python world!“) 他把这段代码抄进编辑器里——抄的过程中故意放慢了速度,让观眾能看清每一个字符——然后保存成hello.py,打开终端运行。 屏幕上跳出那行字的时候,陈哲指著屏幕说:“看到了吗?就这行。你写的第一行代码,让电脑听你的话说了句hello。是不是没什么了不起的?” 他往后靠了靠,沙发发出轻微的吱呀声。 “但你知道吗,所有那些你天天用的app,instagram、spotify、uber,它们的第一行代码也都是这样的。你刚才做的事,和那些年薪十几万的程式设计师做的第一件事,没有任何区別。” 陈哲翻了翻列印纸,目光扫过变量那一节。 “接下来是变量。这玩意儿你一听可能觉得抽象,什么变量常量数据类型,但其实很简单。”他拿起笔在列印纸的空白处写了行字,举到镜头前,“message =hello python world,print(message)。看到了吗?message就是个盒子,你把hello python world这串字放进去,然后print的时候就从盒子里拿出来用。” 他重新运行了一遍,屏幕上依然是那行hello。 “你可以换个盒子,比如message =hello world,再print一次,它就变了。变量就是能变的量,盒子里装的东西能换。” 陈哲又翻了翻纸,翻到字符串那一节。 “接下来是字符串,听著高大上,其实就是一堆字符串在一起,英文叫string,你记成『串』就行。单引號双引號都行,但別混著用。”他边说边写,“name =ada lovelace,然后print(name.title()),title()这个方法会把每个单词首字母大写。” 屏幕上输出了ada lovelace。 “看到了?这叫方法,后面跟对小括號,意思是让python去做一件事。什么事?把首字母变大写。你用点號把name和title()连起来,意思就是对name这个变量做title()这件事。” 陈哲抬头看了眼镜头,又低头看列印纸。 “再往下是拼接,用加號就行。first_name =ada,last_name =lovelace,full_name = first_name ++ last_name,print(full_name),你得到ada lovelace。中间加了个空格,用引號括起来的那个空格。” 他演示了一遍,屏幕上出现预期的输出。 “你可能会想,这有什么用?我学这个干嘛?”陈哲把列印纸翻过一页,上面密密麻麻印著练习题的代码示例,“用处就是,你现在能写个程序,问用户名字,然后跟人家打招呼了。” 他快速敲了几行: ``` name = input(“whats your name?“) print(“hello,“+ name.title()+“!“) ``` 运行,在提示符后输入自己的名字,屏幕上跳出hello, chen zhe! “看到了?你刚写了个能跟人互动的程序。虽然简单,但这是个完整的程序:有输入,有处理,有输出。你学的这些零碎的东西,组合起来就能干点正经事。” 陈哲看了眼时间,已经过去十一分钟。他翻了翻剩下的列印纸,后面还有列表、if语句、字典,但今天肯定讲不完。 “好,第一期差不多到这儿。今天我们做了三件事:写了第一行代码,学会了变量,用字符串跟人打了个招呼。下期我们讲列表,那玩意儿能装一堆东西,到时候你就能写点更有用的程序了。” 他伸手准备关录製,又想起什么似的收回手。 “哦对了,这叠列印纸我会一直用。不是因为买不起书,是因为我確实买不起书。”陈哲扯了扯嘴角,算是个笑,“但书的內容是一样的,你不嫌弃的话,跟著学就行。就这样,下期见。” 他点了停止录製,方才长出一口气来。 第十四章 油管博主 屏幕上的预览框消失,变成文件保存的进度条。陈哲盯著那个进度条走完,把视频文件拖进剪辑软体。 其实也没什么好剪的,就是掐个头去个尾,把中间卡壳的地方剪掉。刚才讲字符串拼接的时候有一瞬间忘了下一句是什么,愣了两秒,那两秒得去掉。 二十分钟后,一段十二分钟的成品导出完毕。陈哲打开youtube后台,新建视频,標题写“python入门教程#01:从零开始的第一行代码”,描述里简单写了本期內容要点,加上几个標籤:#python #编程入门#教程。 发布。 他靠在沙发上,盯著那个处理中的图標看了几秒,隨后关上了电脑。 到此为止。 “x推上的帐號先多转发和评论一点大v的编程见解,至於油管youtube这块本来空白起號的人就多,所以倒是不需要怎么运营人设。” 陈哲思索了片刻,他投的视频分区,主要还是面向华人的。 “每天日更一个视频,偶尔秀一手目前我自己的上限的编程技术,或者与其他的编程博主竞技,都是不错的积累粉丝的方式。” 虽然在美利坚这里的华人程式设计师用不上这么入门的秘籍,但是陈哲倒也没有肤浅到这个地步,凡事都是由深思熟虑过的。 他面向的华人,是翻墙过来的中国计算机学科学生。 外网这个东西和黄网的性质类似,明面上都说禁止和违法,但实则每个人或多或少都会有办法架一条梯子。 想要在天赋相同的情况下脱颖而出,基本上就都需要一点不是当前教材范围內的课外知识……有些学生,就是会在网上留学国外。 这也就是陈哲確信某些进阶版本的学习视频,类似b站的“充电视频”,能够卖到钱的原因。 “砰砰砰!” 就在这时,几道刺耳的枪响,宛如气球爆炸,一瞬间打在公寓楼外的墙上,弹片在玻璃上留下触目惊心的划痕。 隔壁传来女人的尖叫声。 隨即是一阵混乱的脚步声,有人在楼道里跑,有人在大喊“get down!”,还有小孩的哭声,从楼下某个房间传上来,尖锐绝望。 “帮派斗爭!” 陈哲埋下头去,心中一惊,他的膝盖磕到了桌角,但是这会儿已经碍不上痛楚。 不久,伴隨著枪声结束,窗户的玻璃也变成了一堆阳台上的渣滓。 陈哲缓缓抬起头来。 半晌,拿著扫帚清扫著玻璃,他深嘶一口气。 “早晚要从这里搬出去……”陈哲眼眸里闪过一抹阴暗。 …… …… 五天后,威廉斯堡桥。 十一月的阳光难得慷慨一次,从东河对岸的曼哈顿那边斜著打过来,把整座桥染成一种旧铜器的顏色。脚下的铁板走起来哐当哐当响,缝隙里能看见底下灰绿色的河水,慢吞吞地往南流。 桥是老的。钢铁骨架,铆钉连接,一百多年前的工艺,现在还在用。涂过很多次漆,但锈跡还是从缝隙里往外渗,一条一条的,像时间的静脉。偶尔有地铁从桥中间穿过,整座桥跟著震,铁板嗡嗡响,震得脚底发麻。 往西看是曼哈顿的天际线。新世贸中心那幢楼最高,玻璃幕墙反著光,亮得刺眼。帝国大厦矮了一截,灰扑扑地杵在那儿,像个退休的老职员。再往南是华尔街那片,楼太密,分不清哪幢是哪幢。 往东看是布鲁克林这边。红砖房、仓库、废弃厂房改造的艺术家工作室,墙上涂满了 graffiti,顏色艷得扎眼。有些涂鸦是新画的,顏料还没褪;有些已经褪成一片模糊的蓝,不知道是多少年前的手笔。 桥下有自行车道,戴著头盔的骑行者嗖嗖地过去,车铃按得叮噹响。步行道上人不多,一个推著婴儿车的年轻妈妈慢悠悠地走,婴儿车里的小孩睡著了,脑袋歪向一边。一个背著画板的女生靠在栏杆上,拿铅笔对著曼哈顿的方向比划,画几笔,抬头看一眼,再画几笔。 河上有船。慢的是观光船,三层高,甲板上站满了举手机的游客;快的是水上出租,白色的船身,嗖一下就从桥底钻过去,往中城的方向开。 “仅仅相隔几个街区,竟仿佛两个世界。” 陈哲站在桥头的步行道上,手扶著生了锈的铁栏杆,喃喃自语道。 不知道是不是没有达成什么条件,这几天陈哲都没有见到人生重开模擬器上浮现出新的模擬次数,仿佛上一次去家教之后就没招了。 不过这倒也好,毕竟陈哲就连lv2计算机技术所能消化过来的好处都没有拿全,如果突兀之间又经歷了几次模擬,那么陈哲是真的很难分清现实和模擬的比重了。 陈哲离开桥头,沿著河边的街道往北走。 威廉斯堡这一片的街区很有意思——往东几个街区是他住的那种老公寓,墙皮剥落,楼道里一股霉味,印度菜和洗衣液的香味混在一起发酵。但往河边走,房子就渐渐变新了。红砖楼还是那些红砖楼,但窗户换成了落地的大玻璃,门口停的车也从锈跡斑斑的本田变成了乾乾净净的特斯拉。 罗德里格斯家住在靠河的那条街上,六层红砖楼,没电梯,但楼道乾净。陈哲在楼门口站了两秒,按了303的门铃。 “来了来了,稍等!” 对讲机里传来玛尔塔太太的声音,有点气喘吁吁的,伴隨著拖鞋踩在楼梯上的啪嗒声。门锁咔噠一声弹开,陈哲推门进去,爬上三楼。 玛尔塔太太站在门口等他,穿一件宽鬆的灰色卫衣,头髮隨便扎了个揪,额角有汗。她手里还拿著个锅铲,上面沾著番茄酱。 “陈,”她侧身让开,“快进来。露娜在楼上,马上下来。我正在做饭,你们先开始,不用等我。” 陈哲点点头,跨进玄关。 客厅还是老样子。浅灰色沙发,玻璃茶几,电视柜上那两个相框——一家四口在海边,两个孩子小时候的合照。落地窗外能看见对面那排楼的红砖墙,墙角那辆自行车还在,但这次是立著的,前轮正了。 第十五章 黑人帮派 “今天你想听什么?” “呃,我想写点代码?” “如果这是你的弱项的话,我想我会很乐意为您解答迷津。” …… 教学很快结束。 “多谢你了,这是你应得的。”玛尔塔太太把两张二十美元面值的钞票放在林托的掌心上:“要不要留下吃一顿午饭?” “不胜荣幸。” 陈哲怔愣了片刻,点了点头。 又要到饭了。 白吃的午餐算是给自己碰上了,陈哲不由感谢家教工作的正確。 罗德里格斯家的午饭相当丰盛,一份烤鸡配土豆泥,再加上蔬菜沙拉。 陈哲一般来说给自己用的午饭就都是一些普普通通的馒头咸菜,再不然就是整点快餐店里的剩饭,权当省钱,哪里遇到过这么一个免费吃到大餐的机会。 “你要在我们家吃饭?”弟弟迪亚哥皱著眉头:“那要给我们表演一次chinese kongfu!” 姐姐露娜闻言抬起头来,也对这么一个循循善诱的程式设计师提起一抹希冀。 “中国功夫?不不,我不会。” 陈哲摆了摆手,他的身体素质只能算得上是弱项。 他身高一米八七,体重一百四十斤算是修长体型,给外人看来就是精瘦类型的。 然而,这种宅子的身体素质有多弱,属於是自己也知。 陈哲来到美国之后,每天营养都是供不上的,更何谈练点搏击技巧,表演这些人眼里的中国功夫。 “切。”迪亚哥拉了个长音:“好吧。” 露娜也不言语,把目光重新放回到自己的餐盘上。 “抱歉,孩子们调皮,让你见笑了。” 玛尔塔太太露出歉意的目光:“今天也是他们难得的大餐,今天你来的时候我也还是在忙。” “没有,倒是让您麻烦了。” 陈哲动起筷子,说的也都是敬语。 他沉思良久,终於还是有一句话说出了口:“太太,你今天请了我们吃饭,是不是有事情相求?” “这倒是让你猜对了。” 玛尔塔太太嘆了一口气:“我思来想去,还是希望你把这件事情给揭露出去……如果是其他的家教来了我们家也一样的,不过如果不行的话就算了。” 陈哲点了点头:“先说吧。” 他发现桌上的两个小孩已经不知不觉不再嘰嘰喳喳,而是安静了下来。 餐桌上安静了几秒。 玛尔塔太太放下叉子,目光在两个孩子脸上扫过,迪亚哥低著头戳盘子里的土豆泥,露娜盯著自己的餐盘一动不动。 “去楼上吧。”玛尔塔太太说。 迪亚哥张嘴想说什么,被姐姐拽了一下袖子,老老实实站起来,跟著露娜上了楼。楼梯上传来脚步声,然后是二楼房门关上的声音。 玛尔塔太太等那声门响过后,才重新开口。 “我丈夫不是病死的。” 陈哲握著叉子的手顿了顿。 “警察说是意外,”玛尔塔太太的声音很平,像在说一件跟自己无关的事,“下班路上遇到抢劫,反抗,被捅了两刀。人送到医院的时候已经没了。” 她把咖啡杯往旁边推了推,双手交叠放在桌上。 “但我知道不是。” 陈哲没说话。 “他在银行做it支持,下班晚,那天晚上十一点才离开公司。那条路他走了五年,从来没出过事。”玛尔塔太太抬起头看他,“出事前两天,他跟我说,在停车场看到几个黑人在转悠,好像在等什么人。他多了个心眼,绕路走的。” “然后呢?” “然后第二天,他在公司楼下又看见了那几个人。”玛尔塔太太说,“其中一个还衝他笑了笑。” 陈哲的眉头皱起来。 “他回家之后很不安,跟我说想报警。我说报啊,他就打了911。”玛尔塔太太的嘴角扯了扯,没笑出来,“接线员问了半天,最后说没有实质性威胁,没办法立案,让他们如果有新情况再联繫。” “第三天晚上,他死了。” 陈哲沉默著。 玛尔塔太太站起身,走到电视柜那边,拉开抽屉翻了翻,拿出一张照片走回来,放在陈哲面前。 照片上是一个白人老头,戴著灰色鸭舌帽,压得很低,正对著镜头——不对,不是对著镜头,是被人偷拍的。背景是一家快餐店的柜檯,能看见收银台的一角。 陈哲盯著那张照片看了两秒,忽然觉得眼熟。 “这是……” “他叫丹尼尔,”玛尔塔太太眸子里闪过一抹无助,“加拿大人。我丈夫出事前一周,在停车场看到的就是他。” 陈哲的脑子里有什么东西一闪而过。 幸运panda。 中式快餐店。 那个总点左宗棠鸡、问炒饭是不是换米了的白人老头。 “他是什么人?” 玛尔塔太太沉默了几秒,然后说:“製毒的。” 陈哲手指一紧。 “我丈夫不知道从哪听来的消息,”玛尔塔太太的声音压得更低了,“说那帮黑人不是普通的帮派,是给他干活的。那个停车场也不是隨机选的地方——他们在那附近有个实验室。” “实验室?” “冰毒。”玛尔塔太太说,“小型的那种,藏在废弃仓库里。” 陈哲的脑子飞快地转著。幸运panda离这里不远,那老头隔三差五就来吃饭,每次都坐在门口那桌,从不跟人说话。他从来没多想过,只当是个孤僻的老头。 “你怎么知道这些?” 玛尔塔太太看著他,眼神里有一种说不清的东西。 “因为我查了。”她说,“我丈夫死了,警察说意外,保险公司说是犯罪遇害不赔,我拿不到一分钱。我有什么办法?我只能自己查。” 她顿了顿。 “我跟踪过他。丹尼尔。跟了两个月。我知道他住哪儿,知道他在哪家店吃饭,知道他和谁见面。”她的声音有点抖,但还是继续说下去,“我知道我这么做很蠢,但我没办法。” 玛尔塔太太的眼神紧紧盯著陈哲,手指止不住地在餐布边发抖,滚滚的愤恨和涌动不息的悲伤在说话的腔调里匯聚,震得瓷製餐盘颤抖。 “我今天跟你说这些,不是想嚇你,”玛尔塔太太深吸一口气,“我只是想让你知道,万一你以后见到他,千万要记住他的身份。” “如果您有渠道的话,请务必让这恶魔……绳之以法!” …… 下午三点,陈哲离开罗德里格斯家。 阳光还在,但总是让人觉得有点冷。 陈哲沿著来时的路往回走,穿过那些越来越旧的街区,红砖墙上的涂鸦在他眼里变得不一样了——那些歪歪扭扭的字母,那些张牙舞爪的图案,好像都带著一些他从未注意的东西! 简单来说,就是开灵视了。 在这个没有禁枪令,从纽约一路开车到墨西哥边境只要1864英里的美国。 杀人越货,製毒贩毒,根本就是被列在新闻之中的日常! 陈哲深嘶一口气,踏入公寓楼。楼道里没人,只有那股熟悉的霉味和咖喱味混在一起。 陈哲走上三楼,开门,进屋,把门反锁上,打开电脑。 新的模擬次数出现了。 第十六章 新的模擬 【人生重开模擬器】 【模擬次数:1】 【是否开始新的模擬?】 陈哲抬手看了一眼自己的两个技能,lv2计算机技术、lv1献血经验。 “这两个技能,某种意义上確实挺有用的。” 陈哲若有所思。 在过去的五天时间里,陈哲顺著文件里面的教材,一个视频接一个视频地上传编程教学,算是小有成绩。 现在每一期视频都有了上千的瀏览量,尤其是第一期更是达到了3521的播放,加起来总播放量能达到上万,更是斩获了213个订阅。 从这些方面上来看,陈哲能够算得上是起號成功。 “只是……在计算机的领域上,暂时到这里就不错了。”陈哲心中喃喃自语。 当博主並不一定要奢求爆款,毕竟爆款视频带来的粉丝並没有这种细水长流的教学视频带来的粉丝来得长久,有些时候许多人都是凑个热闹罢了。 而陈哲既然在网上教起了网课,短时间之內也不见得会把程式设计师的技术全忘了。 【记住全网最快小説站 101 看书网解闷好,101??????.??????超流畅 】 “除了墨西哥边境药店的老头的支线还没有处理之外,进行电脑程式员的模擬,性价比並不是很高。” “那么不妨不带任何技能,隨机模擬一个身份。” 陈哲微微点头。 杰姆尼的乐队即將进行第一次地下演出,可想而知对方今晚也是回不来的。 陈哲现在就开始模擬,也是为了不耽误过会儿吃饭。 手指按在触控板上。 “不如开个新號。” 他点下了开始。 【欢迎使用人生重开模擬器!】 【正在隨机生成身份……】 【生成完成。】 【你是一名退伍老兵,曾在阿富汗战场服役,退役后回到美国。你发现这个国家和你离开时不一样了——你找不到工作,医保断缴,战友一个接一个死去。你住在拖车公园里,靠每月残障津贴和卖止痛药为生。】 【“我在战场上为国家而战,回家后却要为了一瓶止痛药乞討。”】 【这个月里,你的右膝盖又开始疼了,是当年那次爆炸留下的旧伤。你买不起医生开的药,只能吃战友从黑市搞来的。行动点-15,生命值-10。】 【行动点:65,生命值:44,信用值:325,存款:$1758】 最后一行也就是经典的收尾,选择这一个月內进行的事件,或者直接结束本月。 只是对於退伍老兵来说,有很多事情是干不了的。 “发薪日贷款居然是禁止的?” 陈哲顿时一怔,想来是信用值太低的缘故。 在美利坚这种地方,信用值是非常重要的东西,因为绝大多数的流浪汉之所以还能活著,全凭藉著他们的履歷,在一眾私有运营的银行中间取得高利贷。 令人啼笑是非的,让他们流浪的主要原因之一,却也是这些私人化分银行企业。 美国的快乐教育导致太多的人一昧沉浸在情绪之中,分不清楚反战和“反战士”之间的区別,形成的社会风潮,儼然没有办法让这些士兵生活下去。 然而之所以征战,士兵却也是为了生计所迫。 “还好,除此之外的功能都很正常。” 陈哲看了一眼信用值,还是有点心有余悸,毕竟倘若到了300信用之下,就是没有任何收入手段和人权,会被一套组合拳打下斩杀线的水准。 陈哲把熟悉的各个行动看了一圈,隨后便发现似乎是因为身份的缘故,这个退伍老兵居然还单开了一页。 【购买枪枝:“至此,你选择买入枪械”(消耗20行动点,-$1000)】 【身体素质训练:“你曾是军队的尖兵,但长期的伤病和止痛药让你的身体大不如前。也许是时候重新练起来了。”(消耗30行动点,生命值+5)】 【寻找战友:“听说有人在俄亥俄见过他”(消耗25行动点)】 【……】 只不过陈哲试图点击它们,却发现它们一下子就灰了,並没有后续可以行动的內容。 “看样子这玩意儿也是等到十二个月之后才能开启。” 陈哲若有所思。 到这里,他算是了解到了这个游戏的玩法,前12个月的模擬,只不过是在危机情况之下的反应。 而到了十二个月之后,才是解锁了模擬之中人物的职业,正式可以做一些这些身份能做的事情! “那么,先把信用值提上来吧。” 陈哲思索了片刻,顿时翻到信用的那一页。 【按时还款:“维持信用分的基本操作”(消耗10个行动点,-$300)】 【信用修復服务:“找专门的机构帮你洗白信用记录,收费不菲,而且不一定管用”(消耗20行动点,-$1000)】 “按时还款,然后信用修復服务。” 陈哲想了想,决定搏一搏。 目前总共65个行动点,肯定是没有办法把存款挣到一次性还清贷款的水准的。 与其如此,不如提升一下信用分。 陈哲点下第一个选项。 【按时还款:消耗10行动点,-$300】 【你按时还了当月的信用卡帐单。虽然这点钱对债务来说只是杯水车薪,但至少信用记录上没有新增的污点。信用值+30。】 【行动点55,生命值44,信用值355,存款$1458】 “原来按时还款可以增加30点信用值吗?亏我之前一直大额还款,多了九百美元也只是多增加了10点信用值而已。” 陈哲咕噥著,手指移向下一个选项。 【信用修復服务:消耗20行动点,-$1000】 【你找了一家信用修復公司。对方听完你的情况,表示需要六个月才能看到效果,收费八百。你说太贵了,他们说那有个便宜套餐,三百块,帮你给三家信用机构发几封爭议信,有没有用看运气。】 【你选了便宜的。】 【一个月后,你的信用报告上確实少了一条负面记录。信用值+35。】 两套操作下来,陈哲的信用值顿时恢復到了390点。 还剩下35行动点。 “补充一下生命值吧。” 陈哲眸光闪烁,翻到医疗的界面。 似乎不同职业之间的社区环境也有所不同,程式设计师与军人看到的东西並不一样。 第十七章 寻衅 只见分明是同一个选择,但是描述却截然不同。 【沃尔玛过期药:“清仓区淘宝”(行动点-15,花费$200)】 【急诊室蹭治疗:“没有被识破的风险”(行动点-30)】 【社区救济站:“排队6小时,每局限用3次”(行动点-35,不扣除钱財)】 “大概是,因为还有人认为军人是可敬的吧。” 陈哲思索了一下,顿时也就放弃了思考。 美利坚的社会局势是有点复杂的,某些地区也讲究人情味,根正苗红的良家子,谁又愿意看到出事。 “社区救济站这一块刚刚好35个行动点,而且没有了染上强化剂的风险,那就选择这个吧。” 陈哲点了一下社区救济站。 【社区救济站:消耗35行动点】 【你去了城南那家由教堂运营的救济站。门口排著长队,全是和你差不多的人——佝僂著背的老头,裹著破旧军大衣的中年人,还有几个年轻但眼神空洞的面孔。你站在队尾,膝盖又开始隱隱作痛。】 【队伍移动得很慢。太阳从头顶挪到西边,你听见前面有人抱怨,有人咳嗽,有人在小声念著什么。轮到你的时候已经过去了四个小时,窗口后面的女人看了你一眼,递过来一个纸袋。】 【“里面有三天的食物,还有一管止痛药膏。”她说,“是有人捐的。”】 【你愣了一下,想说谢谢,但嗓子发乾,只挤出一个“嗯”。】 【你坐在教堂后面的长椅上,把药膏涂在膝盖上。凉凉的,刺痛之后是微微的温热。你把纸袋里的三明治拿出来,咬了一口。鸡肉,有点干,但能吃。生命值+25。】 【当前面板】 【行动点:0,生命值:69,信用值:390,存款:$458】 【本月结束。】 【进入第二个月。】 “没有催债事件发生?” 陈哲不由得意识到了自己这一把究竟有多么幸运,顿时吞咽了一口唾沫,专心致志地观察起自己的属性来。 “其他的属性应该也都差不多合格了,那么,唯一要提升的也就是存款。”陈哲深思熟虑,喃喃道。 …… …… 同一时间,一处地下livehouse。 杰姆尼把贝斯从肩上摘下来,手指还在微微发抖,兴奋不已。 刚才最后一首歌的时候,底下那群人真的在跳,有个光头白人甚至衝上台来了个跳水,被人托著从人群头顶飘过去。 他颤抖著將贝斯装进琴盒,脑子里还在回放刚才的鼓点。 “杰姆尼!” 有人拍他的肩膀。他回头,是乐队的主唱,马克,一个留著脏辫的白人小子,喘著粗气,脸上全是汗。 “有人找你,bro。” 杰姆尼顺著马克的目光看过去。 门那边站著三个人。 黑衣服,口罩,棒球帽压得很低。其中一个手里拎著一根金属球棒,棒头拖在地上,走过水泥地面的时候发出刺耳的摩擦声。 杰姆尼的贝斯从手里滑下去,砸在舞台上,发出一声闷响。 “谁是杰姆尼?” 那人的声音不大,但整个场子都能听见。没有人说话。跑的人群已经跑出去一半,剩下的一半贴著墙根蹲著,头埋得很低。 杰姆尼没动。 “我问最后一遍,谁是杰姆尼。” 拎球棒的那个人往前走了一步。灯光照在他脸上,照出帽檐下面一双眼睛,灰蓝色,没有任何表情。 旁边有人动了动。 杰姆尼的鼓手,那个染著绿毛的小个子,蹲在舞台边缘,朝杰姆尼的方向飞快地瞥了一眼。就那么一眼。 拎球棒的人顺著他的目光看过来。 “是你?” 杰姆尼的膝盖软了一下。 他还没来得及说话,那三个人已经穿过人群,走上舞台。金属球棒在他眼前晃了晃,然后他感觉腹部被什么东西狠狠地撞了一下——不是球棒,是拳头。快得他根本没看清是谁出的手。 他弯下腰,跪在舞台上。 “你住在哪儿?” 有人拽著他的头髮,把他的脸抬起来。他看见那双灰蓝色的眼睛,很近,近得他能看见对方眼白上的血丝。 “威廉斯堡……”他的声音从喉咙里挤出来,断断续续的,“斯科特街……一七……一七三號……” “几楼?” “三……三楼……” 那人鬆开手。杰姆尼的头磕在舞台上,咚的一声。 “记住了,”那人的声音从头顶传来,“今晚要是有人敲门,別开。要是开了,你知道会发生什么。” 脚步声远去。 应急灯还亮著。 杰姆尼趴在舞台上,听著自己的心跳,一下一下,又重又乱。有人从旁边经过,绕开他,快步往外走。有人在哭。有人在打电话,声音压得很低,听不清说什么。 他慢慢爬起来。 贝斯躺在旁边,琴颈上裂了一道口子。他盯著那道口子看了几秒,然后站起来,踉蹌著往门口走。 门口已经没有那三个人了。 外面是布鲁克林的夜晚。路灯昏黄,垃圾袋堆在墙角,一只野猫从垃圾桶后面探出头,看了他一眼,又缩回去。 他掏出手机。 屏幕碎了,但还能亮。他点开通讯录,找到陈哲的名字,手指悬在屏幕上。 “怎么办?” 杰姆尼的嘴唇动了动,声音低得只有自己能听见。 然后他按下拨號键。 嘟——嘟——嘟—— 没人接。 他又打了一遍。 还是没人接。 他站在路灯下,握著手机,听著那一声声盲音,忽然觉得冷。不是天气的冷,是那种从骨头缝里渗出来的冷。 他看了一眼时间,地铁已经停了,公交要等半小时,走回去要四十分钟…… 杰姆尼把手机塞进口袋,开始跑。 …… …… 与此同时,陈哲也已经进行到了第十二个月。 【行动点:100,生命值:100,信用值:530,存款:$10458】 “没成想,竟是天龙人开局。” 陈哲心中暗想,情绪难免有点激动。 毕竟单纯从走势上来看,他的开局比程式设计师开局要低,然而在到达第12个月的时候,却比那程式设计师版本的陈哲要更高。 这就像是无心插柳柳成荫,成功在意料之外。 第十八章 战爭结束了,兰博 【请为这名老兵命名】 “兰博。” 既然是美国人,那就该取个美国人的名字。 陈哲想了想,套了一下《第一滴血》里的老兵兰博,给了他这么一个名字。 第一滴血的內容很简单,兰博去寻找战友,却被告知战友因战爭期间接触橙剂患癌去世。隨后他路过一个小镇,遭到警长无故的歧视和暴力对待。在警局受尽屈辱后,他被迫逃入山林,用一身越战游击本领对抗整个围捕队伍。 影片最后的结尾便是兰博的哭诉: “在越南,我可以开著攻击直升机,可以开坦克,负责几百万美元的装备,但回到这里,我他妈的连个代客停车的工作都找不到!” 陈哲以前还觉得这电影没什么问题,现在一看只能说確实符合美国老兵的集体创伤。 本质上来看,便是士兵付出与社会给予的回报的不对等了。 【命名完毕】 【请选择你本月的行动,或者直接结束本月】 “选择行动么。” 陈哲倒也不著急,在这个钱是立身之本的资本主义社会之中,他觉得自己还是需要筹备更多的钱好一点。 现在的这一点钱也就防一点小病,如果真的遇到了大病,恐怕不是一万刀能够治好的。 “想当年金牌讲师在医院里问个诊就花了三千刀……如果不是目前模擬的病症並不严重,恐怕迎接我的结局会是相当惨烈的。” 陈哲念及至此,直接连著点了四次卖血。 【(行动点-20)你去了城北的献血站。护士看了你的老兵身份证,沉默了两秒,然后递过来一张表。“全血还是血浆?”她问。你选了血浆,两周一次,来钱快。】 【针头扎进手臂的时候,你想起阿富汗战场上的战地医院。那里的针头比这粗,血袋比这大,有时候血还没输完,人已经没了。生命值-5,存款+$880。】 【(行动点-20)你两周后又去了一次。这次是同一个护士,她认出了你,多给了你一盒饼乾。“注意休息,”她说,“別太频繁。”生命值-5,存款+$880。】 【(行动点-20)第三周,你换了个站点。这个站点的护士是个年轻姑娘,扎针的时候手有点抖,扎了两次才找到血管。你咬著牙没出声。生命值-10,存款+$880。】 【(行动点-20)第四周,你又去了第一个站点。那个中年护士看见你,皱了皱眉,但什么都没说。你躺在那张躺椅上,看著血袋一点一点满起来,心想这具身体还能撑多久。生命值-5,存款+$880。】 【当前面板】 【行动点:20,生命值:79,信用值:530,存款:$13978】 陈哲刚想要点第五次的时候,结果发现卖血的选择黯淡了下去,看得出来,这卖血最多也就是一周卖一次。 “刚好还够一次修覆信用分的行动点。” 陈哲顿时想好了行动点的去向。 【(行动点-20)你再次找到那家信用修復公司。这次对方態度好了不少,说你的信用记录已经有明显改善。】 【你付了钱,等了一个月。信用报告上又少了一条记录。信用值+35。】 信用值正式达到565的大关。 “结束本月。” 陈哲点击了结束本月。 【你遭遇了挫折! 第十二月,你听说了一些有关於纽约本地act bad黑帮的情报,那一家信用修復公司与他们有关。 而他们最擅长的,就是把具有劳动力的人,变成属於他们的劳动力。 一、破財消灾。 虽然被盯上了,但是你想到枪打出头鸟,破財消灾为妙。 代价:-20,967$ 二、重拳出击。 你想起了你在阿富汗是怎么活下来的,有时候,你留著一条命,就是等待豁出去的时候。 代价:生命值-77,下月消耗35个行动点 三、暂避风头。 唯唯诺诺,走为上计。 代价:下月消耗50个行动点 记住这个世界上没有白吃的午餐,任何馈赠背后都已经標註好了价码。】 “我选三。” 陈哲意识到,这不管哪个选项,最终都会和黑帮结下樑子,避无可避,延无可延。 …… 破財消灾,两万零九百六十七美元。他现在的存款是一万三千九百七十八,根本不够。 重拳出击,生命值减七十七。他现在七十九的生命值,减完只剩两点。那是濒死的状態,隨便一个小挫折就能要了命。 暂避风头,下个月消耗五十个行动点。这是唯一不需要立刻付出代价的选项。 他点了三。 【你选择了暂避风头。】 【你退了那间拖车公园的小屋,把能卖的东西都卖了,换了一千三百美元现金。你也不知道要去哪。也许是俄亥俄,也许更远。你只知道不能待在纽约了。】 【本月结束。】 【进入第十三月。】 【新年伊始,万象更新。】 【本月波折:这个月里,你邋遢的外貌受人怀疑,生命值-5。】 本就不富裕的行动点雪上加霜。 陈哲看了一眼面板,现在自己只剩下了50个行动点,74点生命值。 “好就好在能选择一点作为退役军人的行动了。” 陈哲深吸了一口气。 【购买枪枝:“至此,你选择买入枪械”(消耗20行动点,-$1000)】 【身体素质训练:“你曾是军队的尖兵,但长期的伤病和止痛药让你的身体大不如前。也许是时候重新练起来了。”(消耗30行动点,生命值+5)】 【寻找战友:“听说有人在俄亥俄见过他”(消耗25行动点)】 “选择购买枪枝和身体素质训练。” 陈哲选择了比较保值的打法。 【(行动点-30)你开始每天做伏地挺身、仰臥起坐、深蹲。地下室太小,你只能原地跑。韩国老太太有一次下来收租,看见你满身大汗,愣了一下,然后默默关上门。】 【你找了个废弃的仓库,拿沙袋练。第一拳打出去的时候,你的右膝盖疼得你差点跪下来。但你咬著牙继续。一个小时,两个小时,三个小时。你想起阿富汗那些狭窄的巷道,想起那些突然出现在拐角的敌人,想起你曾经怎么用膝盖顶碎一个人的肋骨。那是名为cqc近身格斗技的技巧。】 【你练了一周。膝盖肿了,但拳头比以前硬了。生命值+5。】 【(行动点-20,-$1000)你去了郊外的射击场。买了一把手枪,加上五十发子弹。第一枪打出去的时候,你的手抖了一下,子弹不知道飞到哪里去了。第二枪,你稳住了。第三枪,你想起瞄准的姿势,想起扣扳机的节奏,想起你曾经能在三百米外打中人形靶。五十发打完,你手心发麻,耳朵嗡嗡响,但你知道,枪还在你手里。】 【是否结束本月】 “结束本月……等等,模擬次数还没有耗尽?” 陈哲顿时一怔,隨后若有所思。 “有点意思。” “在下一个月开始的时候,先把寻找战友干了再说。” 第十九章 老兵之死 【第十四月开始。】 【你花了几天时间,打了十几个电话,终於找到了当年的老班长。他住在俄亥俄一个小镇上,开修车铺,老婆跑了,儿子进了少管所。电话里他的声音很疲惫,但听说你还活著,他笑了。】 【“小子,”他说,“我还以为你早就死了。”】 【你去了俄亥俄。老班长在车站接你,他比电话里听著还老,头髮全白了,脸上多了几道疤。他看见你,什么都没说,只是拍了拍你的肩膀。】 【你们坐在他的修车铺里喝啤酒。他说他知道那个加拿大人,丹尼斯,做冰毒的,手底下有一帮黑人,专门从战场上退役的老兵里招人——因为他们会用枪,会拼命,而且没人管。】 【“他找过你?”老班长问。】 【你点头。】 【老班长沉默了很久,然后把啤酒罐捏扁,扔进垃圾桶里。】 【“別去。”他说,“那不是人干的事。”】 【你问他怎么知道。他没回答,只是站起来,背对著你,看著窗外。夕阳把他的影子拉得很长。】 …… 【第十五月开始。】 【你回到纽约。地下室的韩国老太太告诉你,有人来找过你。两个黑人,问东问西。她说她什么都没说,但你的地址写在租房合同上,那玩意儿就在她的抽屉里。】 【你当晚就搬走了。】 【这次你住进了布鲁克林一间废弃的厂房,和几个流浪汉挤在一起。他们问你叫什么,你说老兵。他们点点头,没再问。】 【一个月后,你在街头被人堵住了。】 【三个黑人,很年轻,手里拿著球棒。领头的那个笑得很开心:“老兵是吧?我们老板想见你。”】 【选项出现:】 【一、跟他们走。也许真的只是见一面。也许还能谈条件。】 【二、跑。你的膝盖不行,但你知道这片街区的每一条巷子。】 【三、打。你有cqc,有持枪经验——但你没带枪。】 陈哲盯著屏幕,手指微微发紧。 选什么? 他想了想,选了一。 【跟他们走。】 【他们把你带到一间废弃仓库。你走进去的时候,看见一个白人老头坐在椅子上,旁边站著七八个人,有黑人也有白人,都很年轻,眼神空洞,像是什么都不在乎。】 【老头抬起头。灰色鸭舌帽,压得很低。他看了你一眼,笑了。】 【“坐。”他说。】 【你没坐。】 【“我知道你,”老头说,“阿富汗回来的,膝盖有伤,信用记录刚修復好,在拖车公园住过,最近在躲我。我叫丹尼斯,你可能听过这个名字。”】 【你没说话。】 【“我需要人。”丹尼斯站起来,走到你面前,“战场上下来的人最好——会用枪,不会乱问,死了也没人找。我给你钱,给你地方住,给你药。你只需要做一件事:帮我看著那几个黑小子,別让他们把事情搞砸。”】 【选项:】 【一、拒绝。你想起老班长说的话,想起那些眼神空洞的年轻人,想起你膝盖上的旧伤。这不是你当兵的时候想保护的那个国家。】 【二、接受。你想起地下室,想起拖车公园,想起你连止痛药都买不起的日子。尊严?尊严多少钱一克?】 【三、拖延。你说你需要时间考虑,然后找机会跑。】 陈哲盯著屏幕,脑子里闪过很多东西。 老班长的话。韩国老太太的眼神。那个护士给他的饼乾。还有自己这具身体,七十九点生命值,能挨几拳? 他选了三。 【拖延。】 【你说你需要时间考虑。丹尼斯看了你很久,然后笑了:“行,给你三天。三天之后,我的人去找你。记住,別想著跑——你膝盖不好,跑不远的。”】 【你走出仓库,外面的阳光刺得你睁不开眼。你站在街边,深呼吸,然后开始走。】 【三天。】 【你还有三天。】 …… 【这三天里,你做了以下事情:】 【一、去老班长说的那个地方,找了一把枪。不是买的,是藏的,老班长当年留在纽约的。一把旧式手枪,七发子弹,藏在消防栓后面的夹层里。】 【二、练习。你找了个没人的地方,把七发子弹打完了。手还是抖,但比上次稳了。】 【三、给你认识的所有人打了电话——老班长、战友、甚至那个韩国老太太。只有一个要求:如果有人问起你,就说不知道。】 【第三天晚上,你回到那间废弃厂房,等。】 【午夜,门被踹开了。】 【衝进来五个人,有黑人有白人,手里都有东西。你没等他们站稳,就冲了上去——你只有七发子弹,而且没装弹。你只能靠cqc。】 【第一拳打在那个人喉咙上。第二脚踹在另一个人的膝盖。第三下,你的头被球棒砸中了,眼前一黑,但你没倒。你抱住那个人的腰,把他撞在墙上,然后抢过他的球棒,砸在他脸上。】 【你打了三分钟。或者说,你撑了三分钟。】 【然后你听见一个声音:“够了。”】 【丹尼斯从门口走进来,后面跟著两个人,手里拿著枪。真正的枪,不是球棒。】 【他看著你,眼神里有一点……欣赏?】 【“你能打。”他说,“我需要的就是这种人。最后问你一遍,干不干?”】 【你浑身是血,站不直,右膝盖已经完全废了,但你还站著。】 【选项:】 【一、干。跪下去,捡起他给的钱,然后变成那些眼神空洞的年轻人之一。】 【二、不干。站著死,像你曾经在战场上宣誓过的那样。】 【你做出了选择。】 【“不干。”你说。】 【丹尼斯看著你,没有说话。过了很久,他点点头,转身往外走。走到门口的时候,他停了一下,回头看你。】 【“给他个体面。”他说。】 【枪声响了。】 【你倒在地上,血从胸口涌出来,流在水泥地上,很慢,很凉。天花板上的日光灯闪了几下,灭了。黑暗里你听见有人在说话,听不清。你想起阿富汗,想起老班长,想起那个给你饼乾的护士。】 【然后什么都没了。】 …… 【本次模擬结束。】 【模擬评价:你活过了十七个月。你找到了战友,重新练起了格斗和射击,最后死在了一个废弃仓库里,像一头不愿意低头的狼。那个加拿大人记住你了,儘管这没什么用。】 【结算奖励:lv1 cqc格斗技、lv1持枪经验、lv1献血经验】 【cqc格斗技(lv1):你知道怎么在近距离制服一个人——膝盖顶哪里,手肘砸哪里,怎么在被勒住的时候反制。你的身体还记得这些,儘管很久没用过了。】 【持枪经验(lv1):你打过靶,知道怎么上膛,怎么瞄准,怎么扣扳机。你真的开枪的时候会不会抖,那是另一回事。】 【献血经验(lv1):你还是对社区献血背后代表的东西一无所知。】 第二十章 格斗 隨著陈哲的这一次模擬结束,在目光触及到最后模擬结算的三个技能之后,很快又有一股清灵的感觉涌上心头。 仿佛鼻尖有风沙味滚过,苦行军的岁月能够彻底改变一个人,当陈哲再次坐正身子的时候,身上渐渐多出了一到两种驍勇的气质,不像是刚来到这里没多久的留子,倒像是中年的退伍军人了。 陈哲眨了眨眼睛,又恢復了之前的气场。 “儘管比起之前並没有什么锻炼,但是……总感觉身体结实了不少。” 陈哲喃喃自语,掀开衣服瞥眼一看,里面依然是六块腹肌。 陈哲没有多语,迅速將衣服拉了下来。 “肌肉量没有增长,那就是神经募集能力……”陈哲若有所思。 他本来体重就偏轻,这些肌肉都是瘦出来的,只能做一个花架子的用途。 所谓的神经募集能力(neural recruitment),即就是指神经系统调动肌纤维参与工作的能力。通俗而言便是大脑能够“指挥”多少肌肉纤维產生力量。 如果一个人的神经募集能力是0.5,那么原本可以爆发出一百公斤的力量也只能打出五十公斤。 但假如是0.8,那么原本可以爆发出100公斤的力量,也就可以打出80公斤! cqc格斗技——室內近身格斗技。 是 close quarters combat的缩写,意为近距离战斗。它不是一个单一的格斗流派,而是一套在极近距离下迅速制服对手的综合性实战技术体系。 体系包含徒手格杀,如掌根推击、裸绞,与控制抓捕,如关节技、 weapon retention两种维度。 常作为要员保护、特种作战等场景下的专项技能,强调在近距离突然遭遇威胁时,能迅速拔枪射击或使用刀具,或是在无法使用武器时无缝切换到徒手防御。 主要的讲究就是迅速让人失去行动能力。 最简洁明白的一招,就是用重拳。 所以拥有了格斗技巧之后,陈哲的神经募集能力得到了显著提升。 “除了在实战之中有效果以外,这个技能也让我有了点健身天赋。” 陈哲暗自心想。 高效募集,是高强度训练,尤其是大重量、低次数的基础,能有效刺激肌肉生长。 可以说,健身人打破瓶颈的方式,也就是训练募集能力了! “持枪经验这个倒是没有多大的感触。” 陈哲看著后面的两行技能。 持枪经验一般被认为和和人的专注度、命中率有关,然而在实际上,绝大部分要归结於枪感。 第一次开枪射靶的人一般都难以估计子弹在风中会偏移多少距离,而第一次开弓射箭的人,却往往把握的较为清楚,很大一部分原因是因为弓箭的力度由自身来决定,而枪械的力度几乎是固定的。 因而,在lv1的持枪经验之下,没有多少实质上的感觉,却也是情有可原。 最后一个献血经验显而易见是个老生常谈的鉤子。 陈哲只是对其默默记录,便没有再管这么一个仍然处於lv1阶段的献血经验。 这玩意儿背后到底代表什么,虽说到了资讯时代,但是想要获知,还是困难的。 毕竟就连自己的室友杰姆尼,他们那地下演出的地址,陈哲在google地图上都找不到。 也就是所谓只有贫民窟中人才知道的小道。 …… 夜晚的纽约依旧灯红酒绿。 窗外的霓虹灯把布鲁克林的夜空染成一种浑浊的橙红色,像有人在天花板上泼了一杯兑了水的番茄汁。 陈哲的公寓楼总共有六层,每层二到四个住户,这种老公寓楼通常都是砖结构的,外在呈现出来的样子显得有些臃肿。 几个混混在夜里肆无忌惮地朝著陈哲家进发,姿態极为显眼。 他们没遮掩,没躲藏,就那么大摇大摆地穿过街道,都穿著黑色卫衣,帽子扣在头上,其中一个手里还拎著一根金属球棒,棒头拖在地上,走过水泥路面的时候发出刺耳的摩擦声。 住在二楼窗边的艾米丽最先看见他们。 她刚洗完澡,正站在窗前往外看,毛巾还搭在肩上。那三个人从街角转出来的时候,她的手指一紧,攥住了窗帘边缘。 他们要去哪儿? 她盯著那三个人,看著他们走到对面的老公寓楼前,停下来,抬头往上看。三楼。那扇窗户她认识——是那个中国留学生的房间,陈哲。她记得他,快餐店里那个不爱说话的男生,老板娘骂她的时候他从来不看,只是低头干自己的活。 三个人进了楼道。 艾米丽的心跳漏了一拍。 她转身冲向厨房,拉开抽屉,里面躺著一把消防斧。 前任租客留下的,她一直没扔。她把斧子攥在手里,沉甸甸的,金属把冰凉。 她往门口走了两步。 然后停住了。 门外是漆黑的楼道,楼下是那三个人的脚步声,已经上了二楼。她听见他们在笑,声音不大,但足够清晰。 艾米丽握著斧子的手开始发抖。 她慢慢退回来,把斧子放回抽屉,关上。 然后蹲下去,抱住膝盖,脸埋在腿间。 “抱歉……”她的声音低得只有自己能听见,“我也是真的不想卷进来……” 一楼的老汤姆最先听见动静。 他正坐在沙发上看电视,深夜重播的棒球赛,声音开得很小。门外传来脚步声的时候他以为是楼上的租客,没在意。 然后他听见有人在笑。 那种笑不是正常人会有的笑,太响了,太肆无忌惮了,像是在宣告什么。老汤姆站起来,走到门边,透过猫眼往外看。 三个人站在楼道里,正在往三楼走。其中一个从口袋里掏出什么东西。 黑色,手枪。 在他手里晃了晃,然后別回腰间。 老汤姆的呼吸停了一秒。 他往后退了一步,后背撞在墙上。电视还在放,解说员的声音很小,他听不清在说什么。他只是盯著那扇门,盯著那个脆弱的门锁,心想这门能挡住什么? 楼上传来一声闷响。 然后是第二声。 老汤姆攥紧拳头,又鬆开。他往窗边走了一步,想报警,但手机在臥室里,臥室在门那边,他不敢过去。 他站在黑暗里,听著楼上的动静,什么都没做。 二楼的夫妇也听见了。 男人刚想开门看看,被妻子一把拽住。她捂著他的嘴,摇头,眼睛里全是恐惧。他们有两个孩子,一个三岁,一个五岁,都睡在里屋。 男人停住了。 他们听著那三个人的脚步声从门口经过,往三楼走去,谁也没出声。 四楼的住户把门反锁了,灯全关了,人躲在卫生间里。 五楼没人应门——那户住的是个独居老人,耳朵不好,可能根本没听见。 六楼的那个年轻人拉开一条门缝往外看了一眼,然后飞快地关上门,反锁,加了两道链子。 对於这种情况,所有人都心知肚明。 入室抢劫! 永远不要用常人的思维来掂量亡命徒,这群人大多数身上都背了案底,日积月累之下,行事自然极端。 …… 陈哲自然也听到了外面传来的声音。 “脚步声?” 陈哲顿时一怔,是杰姆尼来了? 按理来说確实,毕竟美国的地下演出虽然也有通宵达旦的结果,但是寻常状態下这里的人更不喜欢熬夜一点,所以这么早就回来也是有可能的。 时值十一月,距离万圣节已经快过去了一个月,但是这群人停在外面,依旧戏謔地敲了敲门。 “trick or treat?” 门外传来戏謔般恶作剧的声音。 仅仅一墙之隔。 三人已经商量好了。 早就已经看出这种公寓通常多人合租,所以准备先宰毫无防备的舍友,再宰杰姆尼。 陈哲走到门口,听到不是杰姆尼的声音,立刻把眼睛从猫眼的方向收了回来! 下一刻—— 一刀从猫眼处穿刺而来。 他的身体顿时下意识地规避,紧接著就看到门扉被戳出一条缝。 真正的匕首可不是水果刀,锋利的程度吹毛断髮,几乎可以轻而易举地把骨头切开。 “什么人?什么人会要我的命?难道是我家教的时候听到的那些消息?” 陈哲心中思绪起伏,身体微微燥热。 没时间想了。 门被戳穿的那一瞬间,陈哲转身衝进厨房,拉开抽屉,抓起那把用了两年的中式菜刀。刀刃上还有几个缺口,切肉都费劲,但至少是金属。 他刚握紧刀柄,门就被踹开了。 三个人衝进来。 最前面那个手里握著匕首,中间那个拎著球棒,最后那个——陈哲的目光扫过去,看见他腰间的枪套,黑色的,露出手枪握把的一角。 中间那个拎球棒的往前迈了一步,刚抬起手,陈哲已经动了,他的身体比他的意识更清楚该做什么,膝盖微曲,重心下沉,整个人从侧面切入。 手肘。 右肘直接撞在拎球棒那人的肋骨上。陈哲听见一声闷响,像是拳头砸在沙袋上的声音,然后是那人的惨叫,球棒脱手,掉在地上。 陈哲一怔,这么有效? 他本来只是想要试一试记忆里面的cqc格斗技,却没有想到这个近身作战的技巧比想像中的还要有用。 陈哲侧身,躲过匕首的一刺,左手抓住那只握匕首的手腕,右手菜刀直接用刀背拍在那人的脸上。 那人闷哼一声,踉蹌后退,脸上出现刀背上割开的一道血痕。 陈哲的手鬆开他的手腕,转而抓向他腰间。 他的手指碰到枪柄的时候,另一只手从旁边伸过来,拽住了他的胳膊。 陈哲回头,看见拎球棒那个居然又站起来了,满脸是血,但眼神里的恐惧压过了凶狠。 “肾上腺素上来了么?” 陈哲看著对方颤抖的手指,没理他。他的目光落在那把枪上,手指已经扣住枪柄。 然后他做了个连自己都没想到的动作——他没有举枪瞄准,而是直接把枪从套里抽出来,转身,用力一甩。 枪在空中划过一道弧线,飞出窗户,落在阳台上。 “fuck!”拎球棒那个骂了一声,下意识往阳台冲。 陈哲没让他过去。 一拳。 直拳,正正打在他脸上。那人还没反应过来,整个人就往后倒,后脑勺撞在茶几角上,咚的一声,软成一团。 陈哲之前与他们缠斗只是忌惮他们手里的武器,现在没有了武器,自然是一拳一个。 拳重到难以想像,硬生生將对方的牙齿打得脱落,跪在地上失去行动能力。 “陈!” 门口传来喊声。陈哲转头,看见杰姆尼站在门外,气喘吁吁,脸上全是汗,眼睛瞪得快要掉出来。他手里攥一把原先掉在地上的匕首,似乎想上来和人拼命。 “你……”杰姆尼看著屋里的场景,话都说不利索,“你一个人吧他们全乾掉了?” 杰姆尼傻了。 他本来是打算营救自己的室友的,却没想到对方似乎不需要自己的营救,刚刚他亲眼看见了这一切,对方简直是无可匹敌。 “別废话。” 陈哲声音平静,他指了指地上那三个人:“把那个绑起来。” 杰姆尼愣了一秒,然后衝进屋里。他从角落里翻出自己前几天买的那捲宽胶带——本来是封cd纸箱用的——蹲下去,手忙脚乱地开始缠那个人的手腕。 陈哲没閒著。 他走到那个拿枪的人面前。那人还半跪在地上,捂著被菜刀拍过的脸,指缝里渗出血。他看见陈哲走过来,往后缩了缩,眼神里的凶悍早就没了,只剩下恐惧。 “你们来我家里干什么?” “我们只是一时心血来潮,入室抢劫……” “鬼扯。”陈哲轻笑一声,从对方兜里翻出手机:“密码是多少?” “982100。”男人恐惧地说。 陈哲试了一下,可以。 他把手机塞进自己口袋,然后站起来。 杰姆尼已经把三个人都捆上了——手腕缠了十几圈胶带,脚踝也缠了,嘴里塞著从沙发上扯下来的毛巾。他站起来,喘著粗气,看著陈哲的眼神像在看一个陌生人。 “你……”他咽了口唾沫,“你他妈是不是学过功夫?” 陈哲没回答。他走到阳台边,把那把枪捡起来,卸掉弹夹,退出枪膛里那颗子弹,然后把空枪扔在地上。 三颗子弹在他手心里,沉甸甸的。 “帮我把门修一下。”他说。 杰姆尼盯著他看了几秒,然后什么也没问,转身去找工具,杰姆尼在上社区大学之前上的是纽约本地的ibm企业合资的专科中学,自然也能兼职当个修理工。 第二十一章 吹哨人 警笛阵阵。 陈哲扫了一眼棒球男的手机,不论用了几种查看隱藏应用的办法,都没有在这傢伙的手机上发现什么可疑的联讯方式。 “和玛尔塔太太的事情无关吗。” 陈哲想了想,倒也正常,毕竟哪有这么快的信息流通。 能够手眼通天到这种地步,纽约早就变洛圣都了,罪恶都市侠盗飞车都来了。 “叮叮噹噹。” 杰姆尼带著检修箱来到门扉前面,这个检修箱是他本来用来修贝斯的,里面六角扳手、螺丝刀、套筒等工具都有。只不过一路哐当著来到门前,杰姆尼看了一眼这惨不忍睹的门把手,顿时摇了摇头。 “看样子是修不成了。”杰姆尼回头耸了耸肩,看向陈哲。 “那就这样。” 看著呜咽的三人,陈哲打了个电话,准备等fbi过来。 “喂,请问是联邦调查局吗?我遭遇了一起入室抢劫案,地址在威廉斯堡桥斯科特街173號……公寓三楼尽头那个房间。” 社区大学的入学考试一般来说没有什么別的內容,只有英语口语作为硬性要求,並且通过这玩意儿分班。 陈哲的口语算得上是流利,並没有让人討厌的感觉,也正是因为这么一个缘故,他才有底气在这里当个家教。 隨著嘟的一声电话掛断,那三人抖得更加厉害。 …… 没过多久时间,两辆没有任何標识的黑色雪佛兰警车,停在了公寓楼下。 “真是的,入室抢劫居然还活著,这小子也是命大。” “他妈的。” 一黑一白两个警员,身披大衣,表情不爽地走下车。 记住我们101看书网 在美国的人权法案之下,为了“避免”歧视,这种表面工作都是做好的。 一个合法的警务小队里必须配有一个黑人。 作为美利坚唯二还算是有点效率的部门,他们来得不算早,却也不算晚,相对及时。 斯坦威警长撇了撇嘴,看著身后的白人警员,扭过头去,招手让对方跟著。 到了三楼的房间內,顿时见到了三个鼻青脸肿的混混,以及两个毫髮无伤的成年男性。 “噢……” 斯坦威警长黑色的脸庞微微一抖,掩盖住脸上的惊怒:“你確定他们是罪犯?” “確定,走廊里有监控。” 陈哲缓缓地说。 作为合格的来美留子,陈哲决然算不上是法盲。 斯坦威警长看了陈哲一眼,没说话,转身走出房间。 走廊尽头確实有个监控摄像头,装在楼梯拐角的天花板上,老式的半球形,镜片上蒙著一层灰。斯坦威警长盯著那个摄像头看了几秒,朝身后的白人警员大手一扬。 “去调监控。” 白人警员点点头,往楼下走了。 斯坦威警长重新走进房间,目光从那三个被绑住的混混身上扫过,又落在陈哲身上。 “你一个人干的?” “对。” 斯坦威警长沉默了两秒,然后走到那个被陈哲打掉牙的混混面前,蹲下去,捏著他的下巴看了看。那人的嘴肿得老高,嘴唇上全是血,看见斯坦威警长的脸,眼神里闪过一丝恐惧。 斯坦威警长鬆开手,站起来。 “军用匕首,手枪,三个人。”他转过脸看著陈哲,“你是做什么的?” “学生。” “学生?”斯坦威警长的眉毛挑了一下,“好。” 他的心中评估著。 如果眼前这个人是个软柿子的话,那么说不定自己还能昧下一笔钱財…… 斯坦威警长波澜不惊,语气里却带了一丝怒意。 斯坦威警长站在客厅中央,目光在那三个被绑住的混混身上来回扫了几遍,又落在陈哲的二手thinkpad上。 电脑还开著,屏幕上是youtube的后台界面,播放量数字静静地躺在那里。 “学生。”斯坦威警长重复了一遍这个词,语气里带著一点说不清的味道,“住在布鲁克林这种地方,还能一个人放倒三个持械的——你运气不错。” 陈哲没说话。 斯坦威警长走到那个被打掉牙的混混面前,蹲下去,捏著他的下巴左右看了看。那人嘴里塞著毛巾,呜呜地叫,眼神里的恐惧还没散乾净。 “军用匕首,手枪,球棒。”斯坦威警长站起来,拍了拍手,“这仨够判个几年了。” 他转过身,看著陈哲。 “不过有个问题。” 陈哲等著他继续。 “你这屋子,”斯坦威警长指了指那扇被戳烂的门,“自卫过当,门是证据,没问题。” “但是……” 他顿了顿,目光落在那把扔在阳台上的枪上。 “这把枪,你没碰过吧?” 陈哲的眉头微微皱了一下。 斯坦威警长走到阳台边,弯腰捡起那把枪,在手里掂了掂,然后转过枪身,借著屋里的灯光仔细看了看。 “格洛克19,”他说,“没备案,没编號,典型的黑枪。” 他把枪口朝下,举起来对著陈哲晃了晃。 “你知道私藏黑枪是什么罪吗?” 陈哲盯著他。 “我没藏。”陈哲摊开双手:“那是他们的枪,我扔出去的。” “谁看见你扔出去的?”斯坦威警长的语气轻飘飘的,“就你们两个,和这三个被绑起来的。你室友是你的人,这三个人说的话法庭能信吗?” 杰姆尼在旁边愣了一下,然后衝上来:“what?你他妈什么意思?” 斯坦威警长身后的白人警员往前走了一步,手按在腰间的警棍上。 “你什么意思?”白人警员盯著杰姆尼。 杰姆尼顿时无话可说。 陈哲思索了片刻,早就已经想明白了这些人想要从中作梗攫取到什么利益。 “你想要什么?”陈哲问。 斯坦威警长笑了,却笑得不凶恶。是那种“你懂的,大家都是聪明人”的笑。 “我看你像个明白人。”他把枪收起来,“这东西我先保管著。你们三个持械入室,这是事实,监控能作证。但你这个屋子嘛……自卫过当这种事,说大不大,说小不小。万一枪上有你的指纹,万一有人非要说这是你的枪——” 他没说完,只是耸了耸肩。 陈哲明白了。 这是要钱! 他盯著斯坦威警长那张黑色的脸,纽约警局的腐败不是新闻,尤其是这种社区警员,吃拿卡要,皆是常態,但眼前这个人的胃口恐怕不止几百美元,他看的是那三个混混背后可能有的油水。 陈哲忽然想起一件事。 “警长。”他开口。 斯坦威警长挑了挑眉。 “你知道《虚假申报法案》吗?” 斯坦威警长的表情顿了一下。 陈哲继续说下去,语气很平静:“false claims act。民间常说的吹哨人法案。任何个人知道有人欺诈政府,可以以美国政府的名义直接起诉。胜诉的话,追回金额的15%到30%归举报人。” 他指了指那三个人。 “这三个人的枪是黑枪,刀具是军用级別。他们背后肯定有人——卖枪的,供货的,也许还有更大的。如果我能查出他们是谁,帮谁干活,骗了政府多少钱——” 斯坦威警长的脸色变了。 “你是个学生。”他低声说。 “对,学生。”陈哲点点头,“学生也可以当吹哨人。” “我不指望拿多少,但如果能追回个几百万,分成几十万,总比被人讹一笔强。”陈哲毫不顾忌,语气里暗自提醒了一下斯坦威警长摆正自己的作为。 斯坦威警长没说话。 客厅里安静了几秒。 杰姆尼看看陈哲,又看看斯坦威警长。 杰姆尼脸上的表情从愤怒变成了困惑,又从困惑变成了畏惧。 斯坦威警长把枪放在茶几上。 “你叫陈哲?”他问。 “对。” 斯坦威警长盯著他看了几秒,然后笑了一声。 “行。”他把枪往前推了推,“这把枪我会登记成物证。你的笔录回头有人来做。至於那三个人……” 他看了一眼地上那三个还在呜呜叫的混混:“我带走了。” “他们背后有没有人,你自己查。查到了,按你说的流程走。查不到,这事儿就当没发生过。” 斯坦威警长和白人警员三两下给他们拷上手銬,转身往外走,走到门口的时候停了一下,回头看著陈哲。 “下次再碰上这种事,记得先打电话。” 陈哲点点头。 斯坦威警长带著白人警员走了。 脚步声在楼道里渐行渐远,然后是车门关上的声音,引擎启动的声音,警车驶离的声音。 客厅里重新安静下来。 杰姆尼一屁股坐在沙发上,大口喘气。 “操,”他说,“你他妈是人是鬼?” 陈哲没回答。他走到茶几边,把枪拿起来,看了一眼,又放下。 自己的手机里拍下了这些人的样貌。 与此同时。 自己有枪了。 第二十二章 程式设计师聚会 翌日早晨,又是一周周末。 兴许是昨天和人打架了缘故,陈哲昨晚睡眠质量不错,几乎是一闭一睁,没有做梦,就到了早上。 相比之下,杰姆尼则是黑眼圈密布,仿佛一夜未睡。 “good morning。” 见到陈哲从卫生间里走出,杰姆尼说了一句早上好,对陈哲的目光里带著一点敬畏。 他料想处在昨天晚上的情景,他自己是绝对会屈打成招的,说不准寻思著干了坏事,还要倒贴钱给fbi。 “早。” 陈哲拿毛巾擦了擦脸,转而掛在卫生间外的掛栏上。 “你今天就出门?”杰姆尼的目光在陈哲身上转了一圈,又落在那扇用木板临时钉上的门上,“那这门……” “白天没事。”陈哲套上那件格子长袖衬衫,把手机和钱包塞进口袋,“晚上回来再说。” 杰姆尼张了张嘴,想说什么,但最后还是咽了回去。 陈哲走到门口,推开那扇摇摇欲坠的木门,回头看了杰姆尼一眼:“你今天有演出?” “取消了。”杰姆尼嘆了口气,“昨晚那样,没人敢演了。” 双休日没有任何课程,所以周末方才可贵。 社区大学有全日制也有管的比较鬆弛的,陈哲就读的长岛商学院就属於后者。 事实上管理严格的社区大学才是正儿八经想往上走的留子的必选,社区大学通向uc系的学生也绝大多数都是这种。 “其实我也不知道今天要不要出门。”陈哲思索了一会儿:“毕竟我在外面也没家教工作。” “你是干什么家教啊,能有钱赚?” “编程。” “编程?”杰姆尼一怔:“没门槛的吗?” 陈哲只是笑笑不说话,突然,他看到手机上一条信息弹出。 【(群主):@所有人,今天聚一聚。】 “好吧,我该出门了。”陈哲收起手机,说。 “去你的。” 杰姆尼露出一个鄙视的眼神,他还以为陈哲真就一直留在这里不走了。 …… 群主是个知名的油管博主,在x推上也有一定关注,后来发了个聚集点,让本地的大约十几名程式设计师在pier 57屋顶公园集合,引荐陈哲进群的麦克也在。 哈德逊河畔西侧,切尔西社区。 这里的风比布鲁克林乾净一点,陈哲站在pier 57屋顶公园的边缘,手扶著栏杆,看著河对岸新泽西的天际线。太阳刚升起来没多久,光线是那种淡淡的金黄色,照在河面上碎成一片一片的,晃得人眼睛发酸。 屋顶公园人不多。几个晨跑的人戴著耳机从旁边经过,一个推著婴儿车的年轻母亲在长椅上坐著刷手机,远处有两只海鸥在爭抢什么东西,撒下洁白的羽毛,嘎嘎地叫。 陈哲看了一眼手机,八点四十七分。 群组里说九点集合,他提前到了,这倒是他本性如此 身后传来脚步声。 陈哲回头,看见一个穿著灰色卫衣的白人男性走过来,三十出头,微胖,手里端著一杯咖啡。那人看见陈哲,愣了一下,然后笑了。 “陈?”麦克问,发音有点生硬,隨后又一转流利:“我一眼就能看出这里有没有程式设计师。” “麦克。”陈哲点头,这长相倒是和对方的声音很衬。 麦克光头,脸庞偏方,下巴上堆满了褶皱,眼睛是浅棕色的,藏在镜片后面。一副黑框眼镜,镜架左边用透明胶带缠了两圈,胶带边缘已经泛黄。 “对。”麦克走过来,在他旁边站定,也扶著栏杆看向河面,“你来得挺早。” “习惯。” 麦克点点头,没追问。他喝了一口咖啡,目光落在河对岸,像是在想什么,又像是什么都没想。 沉默了几秒。 麦克点点头,又喝了一口咖啡。 “群主还没到,”他说,“其他人也还没来。你想先转转?” 陈哲思索了一会儿,倒也没拒绝:“可以。” 他还没来过这里。 从布鲁克林区威廉斯堡走这里大概有七八公里的距离,毕竟是来到了纽约最繁华的地区曼哈顿。 本来空荡荡的公共运输工具,这一路上不断增上乘客。不过,陈哲觉得这或许也和到了周末有关。 虽说绝大多数的公司没有双休,但不妨学生放假。 两人沿著屋顶公园的步道慢慢走。哈德逊河在左边流淌,河面上有几艘观光船慢悠悠地开著,船上的人很小,看不清在干什么。右边是切尔西社区的红砖建筑,有些是仓库改的艺术画廊,有些是新建的公寓楼,落地玻璃反射著阳光。 “你是做什么的?”麦克问。 “无可奉告。” 麦克沉默了两秒,然后点了点头,没说什么。陈哲能感觉到他的目光在自己身上多停了一下。 “你呢?”陈哲问。 “我?”麦克笑了笑,“在一家小创业公司做后端,说了你也不知道名字。公司十几个人的规模,做b2b的saas,没什么意思,但能餬口。” “这样。”陈哲点了点头:“电话里你没和我说。那你做多久了?” “三年。”麦克说,“之前换过两家,都倒闭了。这一家还行,老板有点钱,暂时烧不完。” 陈哲頷首,没继续问。 他们走到步道的尽头,那里有一排长椅,面朝著河。几个穿西装的人坐在那里聊天,手里拿著咖啡,像是也在等人。 麦克在一条空的长椅上坐下,示意陈哲也坐。 陈哲坐下。 “群主这人挺有意思,”麦克说,“你等会儿见到就知道了。他做youtube做了五年,从零做到二十万粉,全靠硬熬。最早那两年视频没人看,他一天打三份工养著这个帐號。” “后来呢?” “后来有一个视频爆了,”麦克笑了笑,“讲怎么优化资料库查询,播放量一百多万。从那以后就起来了。现在全职做內容,偶尔接点gg,日子过得比我们这些写代码的舒服。” 陈哲点了点头,这些人暂时还不知道他也在做视频博主。 身后传来脚步声和说话声。 两人回头,看见一群人从入口那边走过来,七八个人,有男有女,有白人有亚裔,都背著电脑包或者斜挎包,一边走一边聊著什么。 麦克站起来,朝他们挥了挥手。 “here!” 第二十三章 论道 陈哲跟著站起来,目光扫过那群人。 走在最前面的是一个三十多岁的白人男性,个子不高,穿一件洗得发白的蓝色卫衣,头髮有点长,扎了个小揪在脑后。他手里拿著一个保温杯,杯身上印著纽约的logo,边缘的漆已经磕掉了好几块。 “麦克!”那人走近,伸出手和麦克击了个掌,“好久不见。” “群主。”麦克笑著指了指旁边的陈哲,“这是陈,新来的,我拉进群的。” 群主的目光落在陈哲身上,从上到下扫了一眼,然后伸出手。 “欢迎。叫我本就行。群主是大家开玩笑叫的。” 陈哲握住他的手。本的手掌很厚,指腹有茧,不知道是敲键盘留下的还是別的什么。 “陈哲。” “中国人?”本问。 “对。” 本点点头,没再多问。他转身朝后面那群人招了招手:“都过来吧,找个地方坐。” 一群人往长椅那边移动,有人坐下,有人靠在栏杆上,有人乾脆坐在草坪上。陈哲粗略数了数,加上他和麦克,一共十二个人。 本清了清嗓子。 “今天叫大家出来,没什么正事,”他说,“就是最近群里太安静了,想让大家见见面,聊聊天。都是干这行的,平时对著屏幕,也该出来透透气。” 有人笑了一声。 本从口袋里掏出一个笔记本,翻了翻。 “先介绍一下自己吧。从我开始。本,做youtube的,频道叫『码农日记』,主要讲后端和资料库。干了五年,还在干。” 他把笔记本递给旁边的人。 那是个非裔女生,二十多岁,厚嘴唇,戴一副圆框眼镜,扎著马尾。她接过笔记本,看了一眼,然后抬起头。 “莱拉,群里的『爱来自冒险家协会』,是一家游戏公司的程式设计师。” 隨后是一个重度近视镜的华人男子,淡淡地说:“书虫。” 此外均是一群美国白人。 陈哲的目光也在这群拘谨的成年社畜之间游移。 美国高级程式设计师中黄种人和白种人的数量大约各占一半,但是在目前这种低端局里,白人还是占了巨大优势的,毕竟是本土主要民族。 陈哲看向群组暱称为书虫的华人男子,而对方的眼镜上起著雾,也看不清对方的表情。 现场除了自己和对方,还有那个叫莱拉的黑人女生以外,其他人的手里都拿著一部高端牌子的笔记本电脑,诸如macbook pro、戴尔、rog、razer、lg gram系列。 陈哲不动声色地抖了抖自己的背包,里面那台老式的二手thinkpad联想,看上去倒是和这些人有点格格不入了。 不过好在陈哲拥有lv2的计算机技术。 笔记本继续传。 “汤姆,后端,主要写go。” “莎拉,前端,目前在自由职业。” “戴夫,devops,最近在搞k8s。” …… 不久,十二个人介绍完,本拍了拍手。 “行,都认识了。接下来自由活动,想聊技术的聊技术,想聊八卦的聊八卦。十二点的时候我请大家喝咖啡,楼下有家店不错。” 本说。 人群散开,三三两两地聚成几堆。 陈哲站在原地,目光扫过四周。阳光已经彻底升起来了,河面上的碎金晃得人眼睛发酸。远处有几只海鸥在盘旋,叫声尖锐,像是在爭夺什么。 他注意到那个叫书虫的华人男子独自站在栏杆边,背对著人群,望著河面。眼镜上的雾气已经散了,但他没有要加入任何一个小团体的意思。 陈哲想了想,没有走过去。 “陈,对吧?” 一个声音从旁边传来。 陈哲转头,看见那个叫汤姆的白人男生走过来,手里拿著一台macbook pro,屏幕还亮著。 “对。” 陈哲整理了一下自己的衬衣,说。 汤姆点了点头,在他旁边的栏杆上靠下来。 “我也是社区大学出来的,”他说,“皇后区的拉瓜迪亚社区学院。转了学,最后在纽约城市大学毕的业。” 他顿了顿,笑了笑。 “这条路走得通,就是慢一点。” 陈哲没说话。 开盒! 陈哲从来没有透露过自己的身份,但是遇到有心之人,就是直接开了。 “改天得消除一下行踪了……” 陈哲眸光深思,对於程式设计师来说,想要套取到他人的信息是一件容易事。就算是那些专精於网际网路人肉搜索的青少年,在这方面爱好也敌不过兴趣。 就在这时,汤姆的声音又传来。 “你现在写什么语言?” “python。”陈哲答。 汤姆頷首,目光落在河面上。 “python挺好入门的,”他说,“不过后端的话,迟早得学go或者java。看你以后想走什么方向。” 陈哲刚要开口,身后传来本的拍手声。 “都过来一下!” 人群重新聚拢。本站在中间,手里不知从哪掏出一块白板,大概a3纸大小,上面贴著一张纸,纸上写著一行字。 陈哲走近了才看清那行字是什么。 “设计一个url短连结服务” 本把白板举高了点,让所有人都能看见。 “来,玩个游戏。”他说,语气里带著一点兴奋,“这玩意儿大家都不陌生吧?短连结服务,bitly那种。给你一个长url,生成一个短码,访问短码的时候重定向到原地址。” 他顿了顿,目光扫过人群。 “规则很简单:每个人三分钟时间,想一下怎么设计。可以討论,也可以自己想。三分钟之后,每个人轮流说自己的思路。” 有人笑了一声:“面试来了。” 本也笑了:“面试?没意思。这是游戏,隨便聊。谁说得有意思,我请他喝咖啡——不是楼下那种,是正经的第三波咖啡。” “更何况,这种事我们之前的聚会也做过,不是吗?”本嘴角上扬。 人群里响起几声口哨。 陈哲站在原地,目光落在那行字上。 url短连结服务。 简单来说,url短连结服务就是一种將冗长的网址(url)转换为简短地址的工具。当用户点击短连结时,会被自动重定向到原始的长网址。 这东西他见过,用过,但从来没想过怎么设计。 三分钟。 他开始想。 …… 最开始想到的是最简单的,一个资料库表,两个栏位,长url和短码。用户提交长url,生成一个隨机字符串,存进去。访问的时候查一下,重定向。 但这样太简单了。隨机字符串碰撞怎么办?重复的url要不要復用同一个短码?访问量大的时候资料库扛得住吗? 过了半分钟,他想到了哈希。把长url用md5或者sha256哈希一下,取前几位作为短码。但哈希衝突怎么办?再加个盐?还是用布隆过滤器先判断一下? 隨后,陈哲想到了缓存。 高频访问的短码可以放redis里,不用每次都查资料库。但缓存失效怎么办?缓存雪崩怎么办? 再接著,他想到了分布式。如果服务做大了,单机扛不住,得用分布式id生成器。雪花算法?还是用资料库自增id然后取模? 一分钟,他想到了更多。 短码过期怎么办?自定义短码怎么支持?统计点击量怎么实现?防攻击怎么搞? …… 三分钟到。 本的拍手声把陈哲从思考里拉出来。 “行,时间到。”本说,“谁先来?” 人群安静了一秒。 “我来吧。” 说话的是汤姆。他往前站了一步,清了清嗓子。 “最简单的设计:一张表,id自增,长url栏位,短码栏位。短码可以用id的62进位表示,0-9a-za-z,一共62个字符。id从100000开始,保证至少六位短码。” 他顿了顿。 “优点是简单,不会衝突。缺点是自增id容易被遍歷,可以加个隨机偏移量。访问量大的时候加缓存,redis存热点数据。如果要做大,分库分表,按短码哈希分片。” 他的语气中充斥著自信,毫无疑问这是个比较优越的答卷。 本点了点头,没评价。 “下一个。” 莱拉站出来。 “我会用哈希。长url做md5,取前六位。如果衝突了,加个盐重新哈希,或者用布穀鸟哈希的思路。优点是短码隨机,不容易被猜。缺点是要处理衝突,性能稍微差点。” 本还是点了点头。 “下一个。” 接下来几个人轮流发言,思路都大同小异——资料库、哈希、缓存、分片。有人提到了用nosql,有人提到了用消息队列做异步统计,有人提到了用cdn加速。 陈哲一直不语。 本的视线最后落在他身上。 “陈,你呢?” 所有人的目光都转过来。 陈哲沉默了两秒。 “我想到的跟大家不太一样。”他说。 本的眉毛挑了一下。 “你可以说来听听。” 陈哲往前走了一步,站在白板旁边。 “大家说的都是存储和查询的逻辑,我换个角度——成本。” 他顿了顿。 “短连结服务最烧钱的是什么?不是伺服器,不是资料库,是流量。每次访问都要302重定向,每次重定向都是一次http请求。如果服务做大了,每天几亿次访问,光是流量钱就能烧破產。” 人群安静下来。 “所以我会在重定向之前加一层cdn。”陈哲继续说,“短码的访问路径先走cdn,如果cdn有缓存,直接返回重定向响应,不回源。缓存时间可以设长一点,比如24小时。这样99%的流量都被cdn扛住了,源站只需要处理缓存未命中的请求。” 本的眉头微皱。 陈哲继续。 “然后是短码生成。大家说的哈希和自增id都有问题——哈希有衝突,自增id太规律。我会用预生成的方式:启动一个服务,提前生成一批短码放在队列里。用户来的时候,直接从队列里取一个分配出去。” “这样生成短码和分配短码解耦了。生成服务可以用雪花算法保证全局唯一,分配服务只需要从队列里pop。就算分配服务掛了,队列里的短码还能顶一阵……” “然后是资料库。短码和长url的映射关係可以存mysql,但高频访问的短码要放redis。如果要做大,可以按短码前缀分片,比如0开头的放一组,1开头的放另一组。” “最后是监控。每个短码的访问量要统计,但不能影响主流程。可以用消息队列,异步写日誌,然后离线分析。” 他说完了。 人群安静了几秒。 本盯著他,表情有点奇怪。 麦克站在人群后面,手里的咖啡杯停在半空中,眼睛瞪得比刚才大了一圈。 “你……”麦克张了张嘴,像是想说什么,但又咽了回去。 汤姆第一个开口。 “cdn那层,”他皱著眉,“重定向响应能缓存吗?” “能。”陈哲说,“302重定向也是http响应,只要设置cache-control头,cdn就会缓存。用户访问短码的时候,cdn直接返回302,连源站都不碰。” 汤姆沉默了两秒,然后点了点头。 莱拉在旁边喃喃自语:“预生成队列……这个思路倒是第一次听说。” 本的眉头舒展开来。 他盯著陈哲看了几秒,然后笑了。 “有意思。” 他把白板放下,拿起保温杯喝了一口。 “你在哪家公司实习过?” “没实习过。”陈哲说。 本愣了一下。 “那你在哪干过?” “无可奉告。” 本的表情有点微妙。他把保温杯放下,目光在陈哲身上转了一圈,最后落在那台老旧的thinkpad上。 沉默了两秒。 “行。”本说,“我记住了。” 他没再多说什么,转身朝人群挥了挥手:“走吧,喝咖啡去。楼下那家店不错,我请。” 人群开始往出口移动。有人还在小声討论刚才那个设计,有人已经开始聊別的话题。 陈哲站在原地,没动。 麦克走过来,在他旁边站定。 “小子,你……”麦克的声音压得很低,“你从哪学的这些?” 陈哲看了他一眼。 “网上。” 麦克盯著他看了几秒,然后摇了摇头。 “我拉你进群的时候还以为你是个萌新,”他低声说,“结果你他妈是个扮猪吃老虎的。” 陈哲没说话。 麦克拍了拍他的肩膀。 “走吧,喝咖啡去。” …… pier 57楼下有一家叫“blue bottle”的咖啡店,蓝白相间的招牌,门口排著七八个人。本带著一群人走过去,直接推门进了店里——他显然是熟客,店员看见他,点了点头,指了指角落里的几张空桌子。 十几个人分散坐下。本去柜檯点单,回来的时候手里拿著一沓小票,一张一张分给在座的人。 “自己点的自己拿。”他说。 陈哲拿到的是美式,黑咖啡,不加糖不加奶。他端起来喝了一口,苦的,但能接受。 莱拉坐在他旁边,手里拿的是一杯拿铁,奶泡上面画著一颗心。她盯著那颗心看了两秒,然后用勺背把它搅散了。 “hello?陈哲。你那个设计,”她忽然开口,“预生成队列那个思路,是从哪学的?” 陈哲转头看她,思索了一会儿:“学校竞赛。” 莱拉沉默了两秒,然后点点头,没再追问。 对面坐著书虫。 那个华人男子从刚才开始就一直没说话,只是坐在角落里,面前放著一杯冷萃,冰块已经化了一半,他没动。他的眼镜片上又起了雾,不知道是咖啡的热气还是別的什么。 陈哲的目光落在他身上。 书虫似乎感觉到了什么,抬起头。 两个人的目光在空中碰了一下。 书虫没说话,低下头,继续盯著那杯冷萃。 陈哲收回目光。 本端著一杯拿铁走过来,在陈哲旁边坐下。 “你那个设计,”他说,语气比刚才轻鬆了一点,“说实话,有点出乎我意料。” 陈哲没说话。 “cdn那层,”本继续说,“一般新人想不到。预生成队列那个,更不是新手能想到的。” 他顿了顿,喝了一口咖啡。 “你真没实习过?” “没。” 本盯著他看了几秒,然后笑了。 “行,我不问了。” 他站起来,朝其他人挥了挥手。 “一点钟我还得去剪视频,先走了。你们聊。” 他走了。 人群渐渐散开。有人起身去柜檯续杯,有人走到门外抽菸,有人凑在一起聊技术。陈哲坐在原位,盯著杯子里黑乎乎的液体,脑子里不知道在想什么。 麦克走过来,在他旁边坐下。 “感觉怎么样?” 陈哲想了想。 “还行。” 麦克笑了笑。 “本那人对新人一般不怎么上心,”他说,“但他刚才多看了你几眼。这是好事。” 陈哲点点头,没说话。 窗外,阳光照在哈德逊河上,波光粼粼。一艘卡其色观光船慢悠悠地驶过,船上的人很小,看不清在干什么。 “下午有什么安排?”麦克问。 “回去。”陈哲说,“写代码。” 麦克点点头,站起来。 “行,那我也不留你了。群里聊。” 他拍了拍陈哲的肩膀,转身走了。 陈哲抿了一口咖啡,这咖啡是蓝瓶咖啡的一类,以精品单一產地咖啡豆和新鲜烘焙著称。 陈哲实际上回去是不可能写代码的。 毕竟他其实根本不是程式设计师。 他倒也没有在这里留多久,二手thinkpad放在背包里没拿出来过,回头换乘了几次纽约地铁,就回了布鲁克林区。 第二十四章 寻踪觅跡 纽约,布鲁克林区。 陈哲回来的时候,或许是和曼哈顿地域的差別,天气重又下回了细雨,窗玻璃上雨珠划成一条条曲线。 “这雨说下就下。” 杰姆尼在客厅里抱怨:“我们还叫修门的来吗?” “值得我一进来就唱衰么。” 陈哲也是一阵牙酸,美利坚这里不管你被追杀还是什么,在公寓里损坏的东西一经发现,就得照价赔偿。 对於他这种每个月花八百刀缴房租的人,这个费用肯定承担不起。 其实陈哲也可以选择一走了之,但是考虑到房东有可能小心眼以至於把自己这么告上法庭,就没了这个念头。 “找本地的装修公司上个门?”杰姆尼又拋出一个解决方法。 “可以,但是咱俩得一起掏钱。” 陈哲说。 “为什么?” “这三个人为什么能找到这里,你心里没点数吗?”陈哲反问。 杰姆尼顿时没了话说。 陈哲暂时把这件事情搁置在一边,也不顾杰姆尼在旁看著,从背包里掏出笔记本电脑,接著就轻车熟路地在社工库里找到了自己的个人资料。 望著陈哲的签证以及上面的正脸照片,杰姆尼顿时大受震撼。 “wait,what?等等,陈,你把你自己开盒了?” “是啊,因为我要刪除自己的行程。”陈哲说得倒是很轻鬆。 陈哲的手指在键盘上敲得飞快。 社工库里掛著他的信息。 姓名、照片、签证状態、最近三十天的位置记录。 这东西,自然不是官方资料库,而是那些搞数据倒卖的灰產攒的,用爬虫从各种公开渠道抓下来,打包卖给需要的人。 位置记录里列著一串地名。 威廉斯堡斯科特街173號、幸运panda快餐店、长岛商学院、罗德里格斯家、pier 57。 全是最近一个月去过的地方。 陈哲没犹豫,点进每一条记录,右键,刪除。 “真不愧是资讯时代啊。” 陈哲喃喃自语,都说资讯时代里没有秘密,这下看来还真是。 他坐地铁的时候用了手机扫描,结果就直接把他的行踪暴露无遗,如果不是他稍微有点计算机技术,恐怕这些信息被有心之人盗用就是分分钟的事。 三十秒,位置记录清空。 然后他点开照片那一栏。他的签证照还掛在那里,正脸,白底,表情僵硬。 陈哲思索了一会儿,为了避免別人起疑,还是留了下来。 最后是关联信息。他的手机號、邮箱、paypal帐號、github用户名,一条一条往下翻。他把github和邮箱解绑,把手机號换成虚擬號,把paypal设为私密。 二十分钟后,页面刷新。 看著儼然成了一个只剩下名字的空壳,陈哲方才长舒一口气,关上了电脑。 杰姆尼似乎在刚才等待的过程中就已经把目光收回去了,这会儿正百无聊赖地玩著手机,手机里传出tiktok短视频的音乐。 见到陈哲合上电脑,方才把目光放了下来。 “你刚刚乾了什么?” “什么也没干,要不要我把你也开了?”陈哲打趣地说。 “那还是算了吧,老兄。” 杰姆尼摆了摆手,苦著个脸,他可不想看到自己的照片在社交媒体上满天乱飞。 …… 不久,杰姆尼就回了房间,整个客厅里只剩下了陈哲一个人。 陈哲在手机上利用相同的办法,登上了网址,开始找寻起昨天入室抢劫的那三个人的信息。 这种事,在手机上也是可以做的,毕竟和电脑软体不同,这些东西不怎么占內存,考验的仅仅是技术 陈哲当然不可能检查一下这几个人的手机就算作无事发生了,这几个人拦路抢劫,说不准手机也不是他们的,所以从安全起见,陈哲就利用这么一条渠道查验这些人到底什么来头! 伴隨著界面展开,三个人的头像和姓名也渐渐出现在面前。 陈哲盯著屏幕上的三条信息,手指在触控板上慢慢滑动。 第一个人,马库斯·威廉士,23岁,布鲁克林本地人,有三次盗窃前科,一次袭警记录,上次出狱是八个月前。 第二个人,德肖恩·布朗,25岁,皇后区出身,两次抢劫前科,一次非法持枪,目前处於假释期。 第三个人,查克·戴维斯,22岁,住址不详,没有固定工作,没有犯罪记录。 三条记录並排躺在屏幕上。 “都是犯罪老资歷啊。”陈哲点开他们的位置歷史。 陈哲知道自己现在这么做也在犯罪,因而只是感慨而没有义愤填膺,不过考虑到目的不同,他没有什么愧疚感。 他一条一条往下翻。 首先这第一人马库斯的位置记录很散乱,便利店、快餐店、某处公寓楼、地铁站、公园长椅。没有规律,没有重点,和一个homeless流浪汉没有区別。 德肖恩的位置记录也差不多。不同的是他经常出现在皇后区某条街上的几家店铺,可能是熟人开的,也可能只是常去的店。 查克的位置记录…… 陈哲的眼神微眯。 查克的位置记录有明显断档,有些日子完全没有记录,有些日子突然出现在某个地方,然后消失,然后再出现,这不是手机没电或者关机——这是他把手机扔在家里,或者乾脆不带手机。 当然,这倒也不是什么要紧的证据,这几个人现在应该都在看守所里了,从这方面入手顶多是稍微罪加一筹罢了。 但有意思的是,每隔几周,这三条轨跡会交匯一次。 每个月第三个周五,晚上八点到十一点之间,三个人的位置记录会同时出现在同一个地方。 布鲁克林区,具体地址是“福斯特街47號”。 陈哲把这个地址记下来。 然后他继续往下翻,想看看这三个人平时还跟谁有交集。 翻了几分钟,他发现了另一个有意思的东西。 马库斯和德肖恩的位置记录里,偶尔会出现同一个地点——不是福斯特街47號,是另一个地方,在东威廉斯堡,靠近河边的一片旧厂房区。那里有几家改装过的livehouse,地下乐队演出用的。 …… “我丈夫不知道从哪听来的消息,”玛尔塔太太的声音压得更低了,“说那帮黑人不是普通的帮派,是给他干活的。那个停车场也不是隨机选的地方——他们在那附近有个实验室。” …… “丹尼斯有个实验室……” 陈哲看著最后三个人共同行踪圈点出来的地址,若有所思。 就在杰姆尼的地下乐队演出地址附近么? 第二十五章 社区大学 陈哲现在的记忆力很好,大概是受到了lv2的计算机技术的影响,以至於让他觉得这些因果关联无比清晰。 “也就是说,这些人本来是想找茬的。” 陈哲略作思索:“因为杰姆尼身上没带钱,所以准备去有人合租的公寓,先打秋风。” “结果,反而被我抓住,这才暴露了信息,发现他们属于丹尼斯的手下?” 陈哲想了想,又觉得不太真实,该推倒重来一遍,就此作罢。 “该看看模擬次数有没有刷新了。” 陈哲经过这些天的沉淀,大概了解了模擬次数刷新的一个指標。 那就是日常生活之中技能的掌握和地位的提升。 第一次获得模擬次数,大概是送的。 第二次获得模擬次数,陈哲刚好在罗德里格斯家当上了家教。 而第三次获得模擬次数,陈哲不仅被邀请了一份像样的午餐,还在youtube视频网站上获得了三位数的订阅者。 “当然,究竟是不是这样,那也亟待解密。” 陈哲其实觉得这玩意儿是隨著时间刷新的也说不准,总之挺玄乎,对他来说有就模擬,没有也不会產生什么影响。 陈哲兴致勃勃地打开人生重开模擬器,隨后便是败兴而归。 【当前没有可消耗的模擬次数】 他仅仅是看了模擬次数为0的界面一眼,就把文字页面关闭,把电脑重新合上。 手机和电脑並联充电。 一下午到晚上,无事发生。 …… …… 纽约长岛商学院社区大学,是个写字楼之中简陋的学校。 陈哲度过了周末,站在走廊里显得神清气爽,周遭几个有过一面之缘的同学都不由得侧目一番,隨后又把视线收了回去 周一上午的走廊人不多,只有几个学生匆匆走过,抱著书,低著头。天花板上的日光灯还是老样子,几根坏的,忽明忽暗地闪著,把走廊切成一段一段的明暗区间。 陈哲站在国际生办公室门口,靠著墙等。 露西亚今天应该不会迟到了。 脚步声从楼梯口传来。 陈哲抬起头,看见一个年轻女人从拐角处转出来。深金色的长髮披散在肩头,隨著走路的节奏轻轻晃动。她穿一件米白色的针织开衫,里面是简单的黑色打底,牛仔裤,平底鞋。 露西亚。 陈哲的目光在她脸上停了一秒。 二十四岁,比他大不了多少。额头光洁,鼻樑高挺,嘴唇饱满,嘴角天生微微上扬,不笑的时候也像是在笑。蓝色的眼睛,此刻正盯著他,没什么表情。 她走到门口,停下,从包里掏出钥匙,没有抬头:“陈,办签证?” “刚到。” 露西亚点点头,没再说话。她打开门,侧身让陈哲进去,然后自己跟在后面,隨手把门带上。 陈哲和她的对话並没有多少热情,反而显得较为冷淡。 不过这倒也符合师生关係……陈哲面色平静。 办公室还是老样子。办公桌上堆著一摞文件,电脑屏幕黑著,旁边的咖啡杯换了新的,里面是喝了一半的咖啡,还冒著一点热气。 露西亚绕到办公桌后面坐下,拉开抽屉,翻出一张空白的i-20表。 “坐。” 陈哲在那把缺了一条腿的塑料椅上坐下。 露西亚低头填表,笔尖在纸上沙沙地响。办公室里安静得只剩这个声音,还有走廊里偶尔传来的脚步声。 “你之前让这i-20签证失信的事,”露西亚说:“其实不是什么大事。” “不影响续签。”她继续写,“sevis那边审核的是你总体的出勤率和学分,不是那点小事。” 她抬起头,看了陈哲一眼。 “你运气不错。” 陈哲点点头。 所谓的小事,陈哲心里清楚,其实也是一件能上秤的事情。 发生在他下载模擬器之前,也是陈哲的一个心结。 只不过…… 就现在的这种情况,陈哲不可能把实情吐出来。 露西亚低下头继续填表。填到一半,她忽然停住,把笔放下,往后靠在椅背上。 “陈,那件事……你真的不考虑一下么?” 这说的又不是陈哲心结的那一件事了。 “你清楚我也明白的事情。”陈哲摇了摇头,有点无奈:“露西亚,我实在是没有接收你的心意的意思。” “好吧。” 她看著陈哲,蓝色的眼睛里没有责备,也没有请求原谅。 “我没想解释什么。”她说,“只是告诉你一声。” 陈哲沉默了两秒。 “知道了。” 露西亚点点头,重新拿起笔,继续填表。 又填了几行,她忽然又停下来。 “你那个续签,”她说,“有点麻烦。” 陈哲的眉头微微皱起。 “什么麻烦?” 露西亚把表格转过来,用手指点了点某一栏。 “你上次那件事的那一周,正好是系统抽查的时间点。虽然不影响总体审核,但这条记录会掛在你的档案里,等移民局的人看。如果他们问起来,你需要解释。” 陈哲盯著那一栏。 “怎么解释?” 露西亚把表格转回去,没回答。她盯著那行字看了几秒,然后抬起头。 “我可以帮你处理掉。” 陈哲看著她。 “条件是?” 露西亚的嘴角动了动,像是想笑,但没笑出来。 “你倒是挺直接。” 她把笔放下,双手交叠在桌上,故作深沉。 “也没什么条件。就是……” 她顿了顿,目光在陈哲脸上停了两秒,死皮赖脸地说:“我知道,你是无辜的,但是这个续签真的是一件麻烦的事情,所以要答应我一件事……” “不用这样,如果要钱的话我会出的。”陈哲在这方面反而很明事理。 “好吧,那就不用你做事了,这事我会办好。” 她把表格拉回面前,继续填。 “这事我会办好。”她又重复了一遍,语气比刚才轻鬆了一点,“你不用出钱,也不用做事。就当我补偿上次放你鸽子。” 陈哲盯著她的侧脸看了一秒。 “多谢。” 露西亚没抬头,只是摆了摆手。 没多久,表格填完,露西亚把一式三份的纸张撕开,把其中一份递给陈哲,个人、学校信息、学费生活费预算、项目起止日期在上面罗列得一清二楚,下面还写著她自己的名字,以作为指定负责人的身份。 —— 昨天入库了,收藏的增长让我稍微有点受宠若惊,在今天早上就涨了三百收藏。 这本书的风格我认为是比较平缓的,不过该有的爽点都不会少,这也和作者的性格有关係。。 麻烦各位收藏了本书的读者姥爷追读了,新书期每天只能更新四千字,上架之后会儘量多更的。拜谢。 第二十六章 答疑解惑 “签个字,这里。” 陈哲接过笔,在指定位置签了名。 露西亚把表格收起来,放进文件夹里,然后站起来。 “行了,你可以走了。” 长岛商学院一年级的课程用的小教室,准確来说这种学校也不见得能用到什么容纳上百人的院系课堂,只是这样对待应届的学生就够了。 陈哲到了课上,周遭坐著的赫然是之前看到的那几个同级的俄罗斯学生的手下。 “谢尔盖么?” 陈哲无声地呢喃自语,想起那个比自己矮上一点的俄国人,已经能够听到这些人的话语。 “那个黄皮猴子,上次见到了你也不问好……” “確实,这种nerd书呆子最招人烦了,在我们这种学校里当什么规矩的模范生?” “傻子。(俄语)” 话语之间还带著几分嬉笑。 这倒是和他的什么模擬结算过来的技能无关,纯属就是这些人故意的,与其说这些话要放到背地里说,倒不如说是故意在陈哲的身边说的。 陈哲眸光不经意地朝著旁边一瞥,就发现那个金髮的俄罗斯人盯著。见到自己的目光投过来,仿佛如释重负一般地长舒出一口气,谢尔盖又重新扭过头去和他的朋友们说笑。 “你们说,我找人把那小子的身份信息爆出来怎么样?”谢尔盖闷声憋笑著说。 “他一定会嚇傻吧!” “我知道,中国人的品性就是『息事寧人』,他肯定会嚇破胆,而且一点也没有报復的欲望的。” “你说得对,安东。”谢尔盖嘴角微微上扬。 这群人里面自然不是全部都为白人黑人,其中还有一些和陈哲一样的亚裔,在长期英语环境里,脸型狭长颧骨高昂,是那种一眼就能看出来的留学生长相,这会儿也跟著谢尔盖一起嘲弄著陈哲。 (请记住 看书就来 101 看书网,????????????.??????超靠谱 网站,观看最快的章节更新) 陈哲听到他们的话语,却是驀自感到好笑。 陈哲没有理会这群人,只是在这样的环境下想要把手机拿出来聊天確实太过冒险,是真的会泄露关乎自己的个人隱私。 所以,他稍微感到了些许焦躁。 “浪费了我的时间啊……” 陈哲心中思忖。 课堂上,特尔教授正在讲著这个院系的商业课程,唾沫星子横飞,英语里偶尔掺杂了几句俚语。 “供应链管理,”特尔转过身,面对教室,“谁来说说这是什么?” 沉默。 几个黑人女生坐在一起,低头刷手机,偶尔笑几声。一个拉丁裔男生趴在桌上睡觉,书包扔在地上,没人管。 特尔微微蹙起眉头,他是个五十多岁的白人男性,头髮灰白,梳成三七分,穿一件皱巴巴的格子衬衫,外面套著深蓝色的针织开衫。他手里拿著一杯咖啡,腋下夹著一本翻旧了的教材。 他深吸一口气:“well……” 特尔快速地在白板上画了几个圈,用箭头连起来。 “供应链管理,供应商——製造商——分销商——零售商——消费者。”他指著那些圈,“这是最简化的供应链。但现实比这个复杂得多。供应商不止一家,製造商可能在全球各地,分销商中间还有代理商,零售商有线上有线下,消费者……” 他顿了顿,“消费者是最不可控的一环。” 对方的话语,显然没有什么人在认真听。 陈哲坐在教室的后排,就这么百无聊赖地听著对方讲授的东西消磨著时间。 杰姆尼今天也没有来,只不过按照对方的话说,是畏惧那几个突然在地下演出时袭击他的混混,暂时避一避风头,所以坐在他旁边的就只是一位普通的白人胖女孩。 陈哲稍微放鬆了一下心情,一边用签字笔在纸张上记著笔记,隨著耳边的交谈声逐渐被一些无趣的笑话代替,工商课也等到了下课,铃声响起,后排的谢尔盖等人一鬨而散。 见到整个教室里的人渐渐离去,陈哲也方才拿著手机站起,在走廊间走著路,手机上显现出布鲁克林区程式设计师交流群的群组消息。 【小王子:你们听说了吗?那个叫datadog的股票又涨了。】 【爱来自冒险家协会:我老板上周还在说要学他们的监控体系,结果这周就忘了。典型的管理层症状。】 【麦克:说到管理层,我们公司新来了个產品经理,第一天开会就让大家用jira建看板,结果他自己连jira怎么用都不知道。】 【全民超人:jira確实难用。】 这群人就像是没工作一样,整天就在群组里瞎水。不过考虑到远在大洋彼岸的东大的聊天群也差不多是这样,陈哲顿时也就无话可说。 【陈:中午好。】 【麦克:陈!】 【小王子:陈!】 【爱来自冒险家协会:陈!】 【爱来自冒险家协会:你怎么来了?】 无意义的三连串復读好悬没把陈哲干懵,好在后面总算步入了正题,陈哲就隨意打了几个字上去。 【陈:刚忙完,摸鱼看看群。】 【小王子:噢,原来如此。】 【小王子:这么看来,陈,也是在一家小公司里上班啊,让人难以想像程式设计师何时有出头之日……】 【麦克:都是狗屎。十几个人,老板天天画饼。】 【爱来自冒险家协会:哈哈。】 【爱来自冒险家协会:@陈,对了,那天聚会你那个短连结设计,我回去想了半天,还是有几个地方没搞明白。】 【爱来自冒险家协会:cdn缓存302这个我懂了,但预生成队列那块,你队列里的短码用完了怎么办呢?重新生成的时候会不会有空窗期。】 陈哲在走廊里找了个靠窗的位置站定,开始打字。 【陈:队列可以设一个水位线,低於某个閾值就自动触发生成任务。生成任务跑在另一个服务里,不占用分配服务的资源。就算生成任务掛了,队列里的存量还能顶一段时间。】 【爱来自冒险家协会:那生成服务本身呢?万一它崩了,又没监控到……】 【陈:可以加个守护进程,定时检查。如果发现队列水位连续几次低於閾值还没触发生成,就发告警。或者直接用k8s的cronjob,定期跑个脚本检查。】 【爱来自冒险家协会:k8s……你们公司用k8s?】 陈哲对此倒是不假思索。 【陈:没,自己玩的。】 【小王子:自己玩k8s?兄弟你家里开矿的?】 k8s的全称是kubernetes,中间的“8”代表了“k”和“s”之间的8个字母,意为“谷歌选择”,这个名字形象地表达了它在容器化环境中的核心作用——像舵手管理船只一样,管理容器化应用,以作为一个开源的容器编排平台,核心作用是自动化地部署、管理和伸缩那些打包在容器里的应用程式。 一般来说確实是烧钱大户,每个工作节点都要付费,倒也难免让群里人这么觉得。 不过陈哲在模擬之中身为流浪汉,当然就算把计算机技术练到了lv2,也用不上那么高端的货。 【陈:minikube,免费版。】 【麦克:操。】 【全民超人:这是真的,minikube也是k8s,没毛病。】 【小王子:原来如此。】 【小王子:那场聚会里我忘了说,我是那个和你说话的提米,很抱歉查看了你的个人信息,不过后面再看的时候发现你已经把它们刪了。】 【陈:没事。理解。】 【小王子:真的抱歉,职业习惯,看见新面孔总想了解一下背景。不过你动作够快的,我后来再去翻,只剩一个空壳了。】 【麦克:@小王子,你他妈就是閒的。】 【爱来自冒险家协会:+1】 【全民超人:+1】 【小王子:行行行,我错了。@陈,改天请你喝咖啡赔罪。】 【爱来自冒险家协会:这样,那还有一个问题,短码衝突怎么办?你预生成的时候用雪花算法,但雪花算法依赖机器id和时间戳,万一两个生成服务实例的机器id重复了……】 【陈:机器id可以在启动时从配置中心拉,或者用资料库行锁抢一个唯一id。实在不行就用redis的原子自增,生成一个全局递增的id再转62进位。】 【爱来自冒险家协会:我好像明白了,多谢指导。】 第二十七章 次数刷新 在群里一阵答疑解惑之后,陈哲便把手机关上,也加上了群里不少人的好友,几乎上一次聚会的所有人都成为了个人列表之中的一员。 那个在聚会里始终没什么说法的“书虫”,也在其中。 “这下倒是和真正的程式设计师圈子没什么区別了。” 陈哲望著自己关注好友栏里的一个个头像,若有所思。 想要偽装出一个程式设计师的身份,首当其衝的还是要融进圈子里,自己之前用x推帐號在各个编程大v的旗下留言转发,说到底只是在融入圈子之前立人设的一个举动。 真正融到了这里面之后,就不需要这么刻意,一举一动本来就已经是程式设计师的一部分了。 之前第一次进群的时候,纵然说明了是麦克拉拢来的新人,群员也没有一个是主动寻找陈哲添加好友的,基本上都只是在群里聊一聊。 一次聚会之后,大伙的態度也就都有了变化。 有一句话说得好,当你成功时,身边全是好人。 这就是说当一个人在凭能力展现出他的价值之后,身边的人也就都会巴结奉迎。 而陈哲拥有模擬器,以后也有的是机会提升自我。 “顺便等到回家了之后,看看我的个人频道有多少订阅了。” 陈哲喃喃自语。 陈哲这几天美式自媒体做得红火,系列视频来了量,正在订阅者的快速上升期中,对此,他觉得是时候该在python教程之外,搞一点炫技的高端教程了。 …… 陈哲从地铁站出来的时候,纽约这边儼然暮色四合。 布鲁克林的傍晚比曼哈顿暗得早,路灯还没亮,街道上灰濛濛的一片。他绕过街角那家波兰肉铺,走进公寓楼,楼道里那股熟悉的霉味扑面而来。 爬上三楼,那扇被木板临时钉上的门还立在那儿,看著比早上走的时候更歪了一点。 陈哲掏出钥匙,捅进锁孔,拧开。 门开了。 然后他愣住了。 客厅里,杰姆尼正趴在地上,两只手撑在沙发边缘,身体绷成一条直线,正在做伏地挺身。他的脸涨得通红,脖子上的青筋暴起,每撑一下就从喉咙里挤出一声闷哼。 (请记住 101 看书网解书荒,????????????.??????超靠谱 网站,观看最快的章节更新) “一……二……三……” 陈哲站在门口,看著他那扭曲的姿势,沉默了两秒。 “你在干什么?” 杰姆尼抬起头,看见是他,整个人像泄了气的皮球一样瘫在地上。 “操,”他喘著粗气,“你回来了。” 陈哲把门带上,走到茶几边,把背包放下。 “我问你在干什么。” 杰姆尼翻了个身,仰面躺在地板上,胸口剧烈起伏著。 “看不出来吗?健身。” 陈哲低头看著他。杰姆尼穿著一件洗得发白的t恤,袖口卷到肩膀,露出两条细瘦的胳膊。他的皮肤很白,白得能看见下面青色的血管。 “你管这叫健身?” “怎么不叫?”杰姆尼撑著坐起来,擦了擦额头上的汗,“我都做了二十个了。” “二十个伏地挺身?” “对。” 陈哲没说话。他在沙发上坐下,看著杰姆尼。 杰姆尼被他看得有点不自在,扭过头去,盯著那扇破门。 “我今天一整天都没出门。”他说。 “嗯。” “电话响了三次,我一次都没敢接。” 陈哲看著他。 “我以为是谁来报復的,”杰姆尼继续说,声音低下去,“结果三次都是我妈打来的。” 听到这里,陈哲顿时没绷住,看样子杰姆尼是觉得那几个人来头不小了。 不过事实上,也確实是这样。 想到自己在社工库里查询和推断出来的东西……陈哲思索了片刻,觉得还是不要让杰姆尼卷进来为妙。 陈哲虽然从他们的身份上知道了一些信息,但还是说:“我已经查过他们的手机了,他们几个都没有什么身份,无足掛齿,要报復也报復不到你的头上,保释金交不起的。” “真的?” “我说的那还能有假话。”陈哲说。 “倒也是。” 杰姆尼正拿出毛巾擦了擦脸上的汗水,他已经许久没有锻炼过,现在就连三十个伏地挺身都做不下来。 很快脱去上衣,在客厅的地板上做起了平板支撑。 只见和陈哲那之前好歹瘦出来了的腹肌不同,杰姆尼的身上完全是一点锻炼痕跡都没有,他蜷在地板上做平板支撑,整个人像一只被晒乾了的虾米,四肢细长,中间那段塌下去,腰几乎贴著地。 网上说的“令人毫无兴趣的儿童身材”,大概也就是如此。 陈哲坐在沙发上,看著杰姆尼像一只翻不过身的甲虫一样在地上挣扎,一时间竟不知道该说什么。 地下乐队的贝斯手就这强度? “这样练估计是练不出来。” 陈哲思索著。 他本来想劝杰姆尼去健身房练一练。布鲁克林这边的健身房不少,有那种二十四小时营业的连锁店,器材齐全,还有教练。但是价格…… 他算了算,月卡平均六十到八十刀,年卡便宜点,但一次性付几百刀。再加上私教课,一小时五六十,想练出点效果怎么也得十节课起步。算下来,小一千刀没了。 这在中国就是七千元。 赚钱难度类似,但是购买力却溢价严重,陈哲觉得自己要是让杰姆尼干这事,估计不出两个月就能看到对方出现在下水道里当史莱姆。 与其如此,不如还是让对方在这里囚徒健身为妙。 “那你健身吧。” 陈哲打量了杰姆尼许久,方才这么说。 “嗯。”杰姆尼也清楚陈哲方才想说什么,刚想再说点,就感觉到体力不支,整个人失去平板支撑支持,胳膊一歪,滑倒在地上。 “小心点。” 陈哲起身,转进自己的房间。 “我现在的神经募集能力已经很强,过几天应该也得开始健身了,增加一些肌肉量,毕竟我现在完全就是靠著技巧撑著。”陈哲若有所思,从背包里把二手笔记本电脑取出。 陈哲的lv1cqc格斗技为锻炼提供了不少的助力,他当然不会放弃这么一个得天独厚的优势,不仅仅是为了可能到来的危险,也是为了发挥出技能的长处,在这个隨时都可能要了自己的命的社会里,陈哲必须一刻不停地给自己添加砝码。 在打开youtube后台观察订阅量之前,陈哲习惯性地打开了人生重开模擬器。 只见伴隨著屏幕一阵白,一行文字呈现在上面。 【模擬次数:1】 模擬次数刷新了。 第二十八章 防火墙 陈哲思索片刻之后,並没有率先打开模擬器,而是暂时將其隱到了小窗之中。 “先处理一些事吧。”陈哲喃喃自语。 以前陈哲没有编程技术,电脑的內容很容易泄密,但好在今非昔比了。 他轻车熟路地打开了防火墙设置。 windows defender防火墙是现成的,只是默认配置太松,形同虚设。陈哲一条一条输命令,新建入站规则,出站规则,把那些用不上的埠全封了。 然后是日誌,未设置的日誌记录太简略,真被人攻进来,连痕跡都查不到。他打开高级安全配置,把审核登录事件、审核进程创建、审核对象访问全开了,日誌大小上限调到1gb。 做完这些,他想了想,又写了个简单的powershell脚本。 脚本每隔五分钟扫描一次系统进程列表,把那些可疑的进程名记录下来,跟一个预设的黑名单比对。黑名单里是他从网上扒来的常见黑客工具——mimikatz、wireshark、nmap——真有人往他电脑里传这些东西,脚本就会弹窗报警。 他把脚本设为开机自启,扔进后台跑著。 最后是瀏览器。他把chrome的隱私设置拉到最高,关了第三方cookie,装了三个插件:ublock origin去gg,privacy badger防追踪,https everywhere强制加密。 做完这些,也就是几分钟的事情。 如果让其他的程式设计师看到陈哲编写脚本的过程,恐怕会惊嘆他对於知识的应用,比起生搬硬套的公式,倒不如说陈哲已经洞悉了这些代码的运作逻辑,能够写出自己的风格。 陈哲对自己写的东西有自信,这台电脑比以前安全得多。 不过倒也不是说绝对攻不破,真要有同水准的程式设计师存心要搞他,总能找到办法。 “但是绝大多数的人攻进来,应该都只能看到一个去除了大部分重要信息的电脑罢了。” 陈哲暗自点了点头。 隨后,他的滑鼠移动,缓缓打开了youtube视频软体,电脑上一个瀏览器標籤页显现出来。 陈哲的个人头像是一团黑,放大亮度也看不出什么特別的,id是中文的“哲思”,目前儼然拥有了1014个订阅者,比起上一次看到的时候翻了接近五倍。 这也就是为什么陈哲思索的时候,会觉得自己的自媒体正做得红火。 只是和国內自媒体不同,国外博主的马太效应是会弱上一些的,寻常国內自媒体在一千粉丝之后会迎来一个快速上升期,一直维持到万粉左右,而国外则没有这个说法。 那种快速的上升期,在国外只有顶层大v的身上才会显现得明显,就像mrbeast、the game theorists。 陈哲做的內容也不太会出现死粉的现象,所以对此还是略显遗憾,没法藉由这个机会积累订阅者。 上传了两个提前录製好的视频,陈哲看著已经空了的视频剪辑草稿箱。 是时候该重新回去模擬了。 …… 陈哲上了个厕所,回来的时候便把门缝闭合,用钥匙把门扉锁死。 电脑用的是本地的区域网。 陈哲深吸了一口气,做好充足的准备,微抿了一口放在电脑桌上的水杯,隨后重新缩放小窗,打开人生重开模擬器。 【欢迎使用人生重开模擬器!】 【点击此隨机你的身份】 【当前技能】 【计算机技术(lv2):你开始理解,所谓“重构”,其实就是把之前从网上粘过来的五段代码,换成另外六段看起来更高级的。准確来说,现在的你才真正有资格辅导初高中的学生……你懂的,说的是中国人。】 【cqc格斗技(lv1):你知道怎么在近距离制服一个人——膝盖顶哪里,手肘砸哪里,怎么在被勒住的时候反制。你的身体还记得这些,儘管很久没用过了。】 【持枪经验(lv1):你打过靶,知道怎么上膛,怎么瞄准,怎么扣扳机。你真的开枪的时候会不会抖,那是另一回事。】 【献血经验(lv1):你熟悉社区献血点的流程,知道献全血间隔需要八周,献血浆只需要两周。你知道哪个採血站的护士换针头最敷衍,哪个会给橙汁和饼乾,哪个周五下午人少不用排队。】 陈哲划动触控板,勾选了第一行的lv2计算机技术和最后一行lv1献血经验,就开始了模擬。 cqc格斗技那块算是个死局,只要不为了那个加拿大老人丹尼斯卖命,最后的结果大概也就只有死路一条。 “得亏『我』是个硬汉子,否则估计马上就成了糖霜苹果。”陈哲想了想,寻思著还真有那种可能,所谓的糖霜苹果,便是黑帮將斩下的头颅掛起示眾,如同节日装饰。 与此类似的还有维京血鹰、哥伦比亚领带,一个比一个重量级。 比起在这一条死路上较劲,倒不如继续试一试自己当电脑程式员的路途,顺便看一看,“去墨西哥买药”那个选项的结果。 陈哲至今还记得那个在模擬里未曾透露过名字的墨西哥药店老头。 念及至此,陈哲很快开始了模擬。 【你携带了计算机技术lv2和献血经验lv1】 【你是一名it企业“被辞职”的员工,十二个月前,你的第三百封面试信被明確予以拒绝。】 【现在你已经想起了你的名字,陈哲,你重拾了旧业,自学了网课,参加了线下meetup,度过了充实的一个月,在这新年伊始的一月份里,似乎一切都好起来了。】 【行动点:100,生命值:89,信用值:498,存款:$9232】 【请选择你在这个月里完成的事件,或直接结束本月份行动。】 “竟然续著之前的进度?” 陈哲眸光微微闪烁,他之前有想过这一次模擬会接续上一次自己已经完成的进度,因为计算机技术达到了lv2。 但是那也只是想想而已,另一种想法是认为那只会带来稍微好一点的开局,却没有想到居然是前者的结果。 陈哲快速扫了一眼目前能够提升自我的选项。 【重拾旧业:“你开始重新翻看高中时代的计算机课本,这是维持手感的最低手段”(消耗30行动点)】 【自学网课:“udemy打折,买了三门课,放在收藏夹里吃灰”(消耗30行动点,-$150)】 【参加线下meetup:“程式设计师聚会,一半人聊技术,一半人聊跳槽”(消耗70行动点,-$50)】 显而易见,已经做过一遍的事情,再做第二遍就不会有太高的收益。 “程式设计师的技能先不急著学。” 陈哲对行动点的分配十分清晰:“先把去往墨西哥药店的事干了再说!” 第二十九章 墨西哥药店 【(行动点-30。)你查了攻略,订了机票,周五晚上飞圣迭戈,然后打车过边境。蒂华纳的街头比你想像的乱,到处都是卖纪念品的小贩、换匯的柜檯、招揽生意的药店掮客。你按照记忆里的地址,穿过三条街,拐进一条小巷,找到了那家店。】 【现在形势不比以前,这一年的二月份,边境排查站的工作只会比上次更加繁复。你在出行之前就记起了你去年在检查站这里排了三个小时的队,说不准这次时长得翻倍。种种思虑之下,你觉得你做出了正確的决定。】 【你来到了街边一个掛著“farmacia”招牌的小店,边境的黄沙让你觉得迷了视线。】 【去年的这个时候,你是在白天抵达的这里,那时候你还是个无家可归的流浪汉,而现在你却已经开始重新学习起了计算机技术,这让你有了一种衣锦还乡的感觉。】 【“你来了。”墨西哥老头似乎並未惊讶,“找我什么事?”】 【你站在柜檯前,看著那张熟悉的脸。老头比去年老了一点,眼窝更深,颧骨更突出,但那双眼睛还是那样——浑浊,但盯著你看的时候会让你觉得他什么都看透了。】 【“我需要药。”你说。】 【“什么药?”】 【“抗生素。止痛药。如果有便宜的降压药,也来一点。”】 【老头盯著你看了几秒,然后笑了。不是那种友好的笑,是那种“我知道你在想什么”的笑。】 【“又想找我套近乎,”老头无奈地嘆了一口气,“你看起来就很健康。”】 【你意识到了和对方交谈不需要虚以委蛇弯弯绕绕,正如同老话说的,真心换真心。】 【“上一次你把药便宜卖给我,我一直记得这个恩情,如果没有当初那一盒药,或许我活不到现在。”你斩钉截铁地说:“当时我问了你的名字,你似乎是想要告诉我。”】 【老头点了点头:“这就对了,我叫本尼西奥。”】 【“如果你想要来墨西哥混,就来找我吧,看上去你也不像是那种会因为知道了一点事情就满世界说的人。”本尼西奥侃侃而谈,“那种小孩在我这里尝不到什么便宜。”】 【本尼西奥免费送了你几盒药,皆是英语,你认出来了其中有一些属於某些医药大厂,包装完整,印著辉瑞的logo,另一盒是强生的止痛药,还有一盒降压药,標籤上写著“络活喜”。你愣了一下——这些药在美国本土卖得贵得要死,在墨西哥居然能这么轻易到手?】 【你不知道这是对方的善意还是什么,第二天早晨,你坐上了提前买好的离去的飞机,离开了这一片国土。生命值+42。】 生命值+42! “我还是第一次看到这么长的文本段落。” 陈哲看完上面所有的內容,顿时对这么一个之前就帮助过自己一次的墨西哥老头充满了印象。 “现在我的生命值,恐怕已经超过了100……” 陈哲打开了面板,只见属性上面生命值已经达到了惊人的131。 也不知道这究竟是什么神奇药效,恐怕就连二月份自己生的那一场大病都可以直接熬过去了,毕竟当时那硬熬的结果也只是扣除101生命值而已。 还能剩个30生命值下来。 看著这一幕,陈哲倒也陷入了短暂的思索,本尼西奥,一个標准的墨西哥名字,在墨西哥的居民里可以看到成百上千个相同的姓名。 和上一次去meetup的时候获得麦克的电话號码不同,这位就只给了个名字,难道这人的知名度真就那么广? “想来墨西哥混可以找他,那看样子在美国本土是用不著这个老头子的人情了。” 话虽如此,陈哲觉得还是有必要查一查对方的根底。 不过在那之前,陈哲觉得还是先把自己的模擬完成再说。 伴隨著脑海一阵思绪起伏,陈哲不再犹豫,继续查看剩下自己的行动。 到了这个月里,倒是多了一些在信用方面的新增行动。 【meme股wsb:“钻石手还是纸手”(消耗30行动点,-$2000)】 【梭哈加密货幣:“wagmi还是ngmi”(消耗40行动点,-$3000)】 【告保险公司:“美利坚人最后的顽强”(消耗60行动点,-$5000)】 【地下赌场:“如果你在牌桌上找不到傻子,那傻子就是你。”(消耗30行动点,-$1000)】 【行动点:70,生命值:131,信用值:498,存款:$9232】 无一例外全部都是赌徒相关。 “毫无疑问,就算是有再多的钱,除非是操盘手,否则沾上这些东西估计也很快就会被消磨得灰都不剩。”陈哲直接略过这一页不看,重新回到了第一页,做回了自己的老本行。 他依旧选择献血,在这个选项上连续点击了三次。 【(行动点-20)你去了城北那个熟悉的献血站。推开门的时候,那个中年护士正在整理器械,听见脚步声抬起头,看见是你,愣了一下。】 【“又来了?”她问。】 【你点点头,在躺椅上坐下。】 【她没再说话,只是默默准备好针头。血袋一点一点满起来,你盯著天花板上的日光灯,心想这玩意儿到底有什么好献的,为什么每次来都要被问一遍。生命值-5,存款+$880。】 【(行动点-20)两周后你又去了。这次是另一个护士,年轻一点,手法不太熟练,扎了两次才找到血管。她一直在说抱歉,你说没事,反正也不疼。】 【走出献血站的时候,你忽然想起来——这已经是这个月第三次了。加上之前的,你已经献了不知道多少次。生命值-5,存款+$880。】 【(行动点-20)第三次去的时候,那个中年护士终於忍不住了。她看著你的献血记录,皱起眉头。】 【“你知不知道献血浆的间隔是两周?”】 【“知道。”】 【“那你为什么每周都来?”】 【你没回答。她盯著你看了几秒,然后嘆了口气,把表格推回来。】 【“今天不行。回去,两周后再来。”】 【你站在柜檯前,愣了一下,然后点点头,转身离开。生命值-0。】 【当前面板】 【行动点:10,生命值:121,信用值:498,存款:$10992】 “还有失败的?” 陈哲无奈地嘆了一口气,看样子果然得找个像样的工作。 “结束本月。” 第三十章 阴差阳错 【第十五月开始。】 【你在社区里受人排挤。生命值-3,行动点-3。】 【你得到了一位好心人的帮助。生命值+3,行动点+3。】 【请选择你在这个月里完成的事件,或直接结束本月行动。】 一正一负,直接抵消了。 陈哲看著这月初发生的事情微微一愣,隨后察觉到这玩意儿並不影响自己这一个月內该干的事情,顿时將这两行文字忽略。 “钱和信用点都足够,那就看看这个月里有没有刷新出求职的意愿,顺便为我铺一铺路吧。” 陈哲若有所思,翻开与程式设计师相关的那一页。 果不其然,在自己正式结交程式设计师朋友的一个月后,其中就丰富了几条职业的捷径。 【投递简歷:“广撒网,碰运气”(消耗20行动点)】 【优化简歷:“你的履歷有点像gpt帮你写的”(消耗25行动点)】 【刷leetcode:“一天十道题,面试不慌张”(消耗60行动点)】 【做开源项目:“在github上找点活干”(消耗40行动点,+$500)】 【参加线上技术分享会:“纯听吹牛去了”(消耗15行动点)】 【外科医院:“听说亚裔在美国找不到工作,於是不做亚裔了”(消耗50行动点,生命值-80)】 “外科医院……” 陈哲的滑鼠移到最后一行一阵沉吟,不由有点哭笑不得。 想必是整形外科。 他还是第一次见到亚裔想要把自己整容成美国人的案例,以往这种都是黑人用的。 按理来说亚洲的程式设计师工作能力更强是刻板印象,倘若美利坚的那些公司不民粹,应该都会知道这是正確的抉择,哪怕偷偷录用。 但是陈哲考虑到自己这个模擬对象的三百封求职信都没有把握到一个合適的工作,还是不由得凝视了几秒。 “不论怎么样,这玩意儿需要消耗80生命值,考虑这个都是下下之选。” 陈哲思索片刻,心中已有了答案。 他先选择了第三行的“刷leetcode”,再选了第一行的“投递简歷”。 【(行动点-60。)你打开leetcode,从第一题“两数之和”开始刷。暴力解法,你三分钟写出来了。然后看题解,发现还有哈希表优化。你改了一版,跑通了。然后你开始刷第二题,第三题,第四题……】 【刷到第十题的时候,你开始觉得不对劲。这些题怎么长得都差不多?刷到第二十题的时候,你发现自己开始记住套路了——双指针、滑动窗口、动態规划、回溯。你知道什么题该用什么方法,虽然偶尔还是会卡住。】 【刷到第三十题的时候,你做了一个测试:隨便点了一道没做过的题,中等难度,你想了五分钟,然后开始写。二十分钟后,代码跑通了,击败了百分之六十七的提交。】 【你盯著那个数字看了很久,心想,这玩意儿是不是有点用?】 【(行动点-20)你打开linkedin,开始海投。后端岗、全栈岗、数据岗,只要是和编程沾边的,你都投。一上午投了五十家,手指都点酸了。】 【三天后,你收到了第一封回復。是自动回復,说感谢你的投递,我们会认真考虑。】 【五天后,你收到了第二封回復。还是自动回復。】 【一周后,你收到了第一封拒信。內容很客气,说你的背景很优秀,但岗位已经招到人了,希望你继续关注他们。】 【你盯著那封拒信看了几秒,然后继续投。】 “没了?” 陈哲颇有一种自己这一整个月的积累都打了水漂的错觉,但好在刚才大概只是网页的卡顿。 伴隨著陈哲的一句疑问,一行行文字不紧不慢地跳出。 【你收到一封邮件,来自一个你根本没投过简歷的小公司——汤姆在的那家。hr说,他们最近有个兼职的活儿,帮写几个简单的api接口,按小时付费,问你有没有兴趣。】 【你盯著那封邮件看了很久。这是你第一次收到正经的面试邀请——如果这算面试的话。】 【“不就是写api吗,这点活儿算什么。”你释怀地笑了,突然留意到这是汤姆的公司,顿时打算先找汤姆问一问。】 【你给麦克发了条消息。五分钟后,他回了。】 【“噢,你终於收到了?我等这个等了半个月了。”】 【“公司最近缺人,老板让我推荐几个。我第一个想到的就是你。”】 【“放心来,没什么背景调查,就是写代码,按时发钱。他们问起来你就说是我朋友,自学编程。没人会多问。”】 【“对了,你有没有一些稍微亮眼点的履歷?一般来说只要能拿出实力hr就能给你过了,现写一个代码也行。”】 【你盯著麦克的消息,这可真是阴差阳错。】 【你把你在leetcode上的做题记录发给了麦克,麦克又转交给了hr。】 【月底,你成功入了职。】 “这还不错。” 陈哲点了点头,这行动点花得值了。 要不然白白浪费一个月的时间,他还不如把100行动点全部用来乞討,至少能赚到一点钱。 “这样一来,既不用真的去整形——整形大概率也不会得到工作,也不必在下个月继续投递简歷……更令人感慨的是,居然把leetcode的做题经歷用上。”陈哲分析著自己的选择,不由庆幸其正確。 还剩20行动点。 陈哲不忘初心,再次点击了一次献血。 【(行动点-20)你又去了城北那家献血站。】 【推开门的时候,那个中年护士正在整理器械,听见脚步声抬起头,看见是你,愣了一下。】 【“又是你?”她问。】 【你点点头,在躺椅上坐下。】 【“不是我说你,你难道不知道为什么每次都要抽你这么多血吗?这都够两个人用的了……”护士咕噥著,声音越来越小。】 【你察觉到护士话里有话。可惜她像是意识到了什么似的,说完这句话之后就沉默不言。你隱隱约约意识到了一点关於献血的真相。生命值-5,+$880。】 【当前面板】 【行动点:0,生命值:116,信用值:498,存款:$11872】 【是否结束本月】 “结束本月。” 第三十一章 国税局 【第十六月开始。】 【四月。tax season。 坐上了工位的你打开turbotax,准备报税。 填著填著,你突然想起一件事: 去年年中,你在ubereats上接过几个小活儿,赚了点外快。 当时觉得是小钱,也没太当回事。 现在你盯著那个“是否有其他收入来源”的选项,开始犹豫。 报吧,要多交好几百的税。 不报……应该没人会发现吧? 你想起同事说过,irs人手不够,小鱼小虾他们懒得管。 但你也听说过,有人因为漏报几百刀被追三年税,罚款比本金还多。 你盯著屏幕,手指悬在键盘上方。 报税截止日期是4月15號。 还有两周。 你决定先放一放,等想清楚再说。 只有两件事是確定的:死亡和税。 而且税这事,真的不好糊弄。】 irs,美国国税局。 tax season,意为报税季。 每年的这段时间里,个人和企业需要向政府申报上一年的收入並缴纳所得税。 在美国,它通常指1月中旬到4月15日这段高峰期,需要收集各种表格(如工资单w-2)、计算税款並提交税表,显而易见,对会计和税务工作者来说是年度最忙碌的时期。 陈哲之前就认识到,美利坚唯二还算有点效率的部门,便是fbi和国税局。 只能说不抓富人,只抓穷人。 “那我这怎么缴税?”陈哲陷入思索:“之前全都是献血赚来的钱啊……” 刚才献血的时候,显然是量变引起质变,让他隱隱约约有了点能把献血经验lv1產生蜕变的机会。 只是那中年护士也是个守口如瓶的,当然,这种东西估计没有多少信息流通方面的管控,大概只是对方不想说而已。 “献血经验提升到lv2会发生什么?” 陈哲想了想,缓缓地把手放到触控板上滑动,开始选择起了这个月的行动。 他倒也没有第一时间就选择献血。 意识到这个月底可能即將发生一次挫折,陈哲就大概规划好了这个月里的三件要做的事情。 最高优先级的是提高信用值,其次是赚钱,最后是提升程式设计师技能。 如果这些都做完了,那才有资格谈献血。 【行动点:100,生命值:116,信用值:498,存款:$11872】 【请选择你在这个月里完成的事件】 他翻到信用那一页。 【按时还款:“维持信用分的基本操作”(消耗10行动点,-$300,信用值+30)】 【信用修復服务:“找专门的机构帮你洗白信用记录,收费不菲,而且不一定管用”(消耗20行动点,-$1000)】 【申请信用卡:“新卡有助於提升信用额度”(消耗15行动点)】 信用这一页里除了那些赌徒相关內容,其他方面的选项倒是挺对陈哲的胃口,把收穫和代价写得一清二楚。 由於要考虑行动点的分配,陈哲只能在这里面挑两个。 半晌,陈哲选择了按时还款和申请信用卡。 信用修復服务,是老兵兰博选择过的一个选项,而最后的结果也就是引出了丹尼斯这一条线。 当然,只能说加速了丹尼斯对兰博的发现。 毕竟对方需要的就是兰博这种人。 陈哲虽然知道这个程式设计师多半不会被对方盯上,但是这种事情难免因小失大,为了保险起见,陈哲决定摸著石头过河。 【(行动点-10)你打开信用卡帐单,把最低还款额还了。其实你可以全额还,但你算了算,剩下的钱留著有用。利息就利息吧,反正不多。信用值+30,-$300】 【(行动点-15)你决定申请信用卡。选了一家没年费的卡,填表,提交。三分钟后收到邮件:审核中。五天后收到邮件:通过。一周后收到实体卡,拆开信封的时候你愣了一下——信用额度$2000。】 【你盯著那个数字,心想这玩意儿到底是怎么算的。信用值+15,+$2000】 【当前属性】 【行动点:75,生命值:116,信用值:543,存款:$13572】 “竟然一次性把提高信用值和存款的事情都干了?” 陈哲看了一眼行动点,最后选择继续在leetcode上刷题,消耗掉60点的行动点之后,望著还剩下15的行动点,结束了这个月。 【你遭遇了挫折!】 【4月15日,报税截止日。 你发现去年有笔收入忘了申报,如果被查到,补税+罚款+利息加起来能让你破產。 一、赌一把不被查。 装作什么都没发生,赌irs不会注意到你这条小鱼。不花钱,但信用崩+精神折磨。 代价:信用值-111,行动点-56 二、诚实补报。 老老实实补报,主动交罚款。花大钱,但信用保住了。 代价:-$7,200,信用值-36 三、找灰色会计。 找个“懂行”的会计帮你想办法,花点钱但有风险,整天提心弔胆。 代价:-$5,000,信用值-60,行动点-20 找个会计帮忙处理要花$300到$500,但有些会计手段高明,说不定能帮你少交一点。当然,灰色操作的风险你自己承担。】 “贪了。” 陈哲望著仅剩的15行动点和这些选项,不免略感苦涩。 但凡自己少修復一点信用值,行动点都至少够自己选个二三选项。 综合来看是第一项不需要花钱,理论上是能够赚一个优先级的,但是可惜陈哲以前模擬的时候根本没有遇到过这种情况,而在第一个十二月的时候,由於模擬对象尚且不是一个体面人,倒也没有国税局的人来查。 “只能选第二项了。” 陈哲暗道一声倒霉,硬著头皮选了第二项,但凡存款少一点,他都算是直接从斩杀线上滑落,好在以前他积攒了不少钱,可也好不到哪里去。 结束这个月之后,他就要面对存款上的危机了,而新加入的公司尚且不知工资底薪如何。 陈哲点了一下触控板,选择了二。 【你选择诚实补报。】 【你的主动补报获得了irs的从宽处理。罚款虽然肉疼,但至少不用整天担惊受怕。-$7200,信用值-36,行动点+5。】 “嗯,行动点加了五点?”陈哲一怔。 之前是15点。 也就是说,现在是20点。 这不再担惊受怕的好处,就相当於恢復了精神,让行动点增加了些许。 陈哲意识到还可以做点什么,念及至此,他仿佛是下定了决心,破罐子破摔一般,顿时翻回第一页,选择了社区献血。 第三十二章 纽约上东区献血中心 【(行动点-20)在公司为你发工资之前,你雷厉风行地来到了城北的献血站。】 【这次你换了个时间,下午三点,人最少的时候。还是那个中年护士,看见你的时候,她的眉头皱了一下。】 【“你怎么又来了?”】 【“缺钱。”你答得很直接,不过这是谎言。】 【她盯著你看了几秒,然后嘆了口气,指了指躺椅。】 【这次抽血的时候,她一直没说话。你也没问。抽完血,她把钱给你,你站起来,走到门口,回头看了她一眼。】 【“你叫什么名字?”你问。】 【她愣了一下,然后说:“玛丽亚。”】 【“玛丽亚,”你说,“我会再来的。”】 【她没回答,只是沉默著。走出建筑,你往上望去,这时候你终於看清楚了这一座站点的名字:纽约上东区献血中心分站。生命值-5,+$880。】 【(行动点-0。)同一天。你也拿到了你第一个月的工资。】 【不是现金,是支票。薄薄一张纸,上面印著公司的名字——一家你从来没听过的小创业公司,在布鲁克林的一个共享办公空间里租了几张桌子。】 【你盯著那张支票看了很久。数字不大,税后不到三千,但这是你第一次拿到的“正经钱”。不是献血换的,不是乞討要的,不是从下水道里捡的,是写代码换的。】 【你把支票折好,塞进钱包里。】 【然后你站在公司楼下,抬头看著那栋不起眼的办公楼,心想:原来这就是上班的感觉。+$1900。】 【第十七月开始。】 【月初无事发生。】 【行动点:100,生命值:111,信用值:507,存款:$9152】 【请选择你在这个月內的行动,或者直接结束本月。】 “纽约上东区献血中心分站?” 陈哲念叨著这个名字,若有所思,纽约市的北部確实有不少市区,上东区就隶属於曼哈顿,除了布朗克斯之外,曼哈顿便是纽约市最北。 由於这个模擬器暂时没有能够让陈哲全身心投入进去这的沉浸模式,只有文字游戏,所以很多细节在陈哲没有真正触发之前是见不到的,就比如说眼下的这么一个具体地址。 “不过按照猜的东西来看,每个献血站都大差不差,只是从这里探索,说不准能连上这个艾米丽的线而已。” 陈哲並没有过多思虑,望著自己的存款,倒是总算鬆了一口气。 有了工作之后,每个月能获得一千九百美元,加上自己刚才的线索,好歹也算是把窟窿补回来了一点。 信用值暂时还够用。 那么到可能触发下次挫折,也就是在月份的开头出现剧情文字之前,都把重心放到学习编程的方面上吧。 …… 第二年五月、第二年六月、第二年七月。 【行动点:0,生命值:98,信用值:527,存款:$9852】 【你已经没有精力做任何事了】 【是否结束本月?】 “结束。” 就在陈哲决定结束本月,迈入第二十个月份的时候。 屏幕驀然一白。 【模擬次数已耗尽】 【模擬评价:你活过了整整二十个月,从一个靠卖血救济生活的失业程式设计师,变成了……一个靠卖血救济生活的程式设计师。问题来了,为什么你能把钱攒下来,你平时的吃穿用度真的不费钱吗?】 【结算奖励:lv2计算机技术、lv2献血经验、艾米丽的信物、本尼西奥的信物】 伴隨著陈哲额头微微的出汗,他感觉到自己的双眼仿佛在网上经歷过许多道题目的冲刷,白纸黑字刺得生疼,而手臂上的针刺感没有上一次那么重,反而是一种先重后轻的渐渐减轻了的感觉。 陈哲再次睁眼,回过神来的时候,计算机技术lv2的文案儼然有了改变。 【计算机技术(lv2):】 【你已经摆脱了码农的境界,开始以工程师的视角看待代码。你不只是实现功能,还会开始思考代码的质量、效率和可维护性。你熟悉自己常用的技术栈,能独立设计出简单的系统结构,並开始意识到编程不仅仅是和机器对话,更是和人沟通。】 【献血经验(lv2):】 【你知道献血站的水有多深了。那个中年护士的话在你脑子里转了好几圈:“为什么每次都要抽你这么多血?”你开始明白,献血这件事,不只是表面上那么简单。你开始注意那些献血站里来来往往的人,有些人看起来比你健康,有些人看起来比你虚弱,但他们都和你一样,需要那几十块钱。你开始怀疑,这些血到底流向了哪里。】 分明同样是lv2,但是计算机技术带来的提升却完全不亚於以前第一次醍醐灌顶的时候。 “看来lv2到lv3的阶段还不能一蹴而就,中间所要付出的努力恐怕还需要再经过一次模擬。” 陈哲看了看自己的双手,只感觉正有一种难以形容的手感正在升腾,仿佛只要把手放到键盘上,不需要怎么动脑子就能写出代码来。 这有点像是程式设计师的新人时期,几乎將之当成了机械性的劳作,都把手感写出来了,可是如果动了脑子的话,这种手感就会挥之一空,又要另起炉灶,仔细思考方才写出一个与隨手写出来的东西大差不差的代码。 但假使是现在的陈哲,却是有种返璞归真的意思,既可以思考著写,也可以利用手感写! 甚至把这两种感觉结合在一起写代码! “以前上学的时候刷题刷多了也总会有这种感觉,可是那不都是一个状態之间的事情,怎么会常驻?” 陈哲有一种预感,现在只要他一念之间,那就可以写出比之前在河畔聚会的时候写的程序更高级的写法,甚至打造出模擬之前的自己拼尽一切也没有办法攻破的防火墙。 念及至此,陈哲立刻打开电脑设置,开始重新设置防火墙。 “auditpol /set /subcategory:“logon“/success:enable /failure:enable……” 编程这东西,本质是內容领域,所以高级的程式设计师可以写出ai写不出来的代码,因为人工智慧的本质说到底也只是复製,陈哲这一次直接用代码命令来代替那些繁复的设置,儼然是成为了那些不会在ai潮流下淘汰的程式设计师之中的一员。 半晌,望著焕然一新的界面,陈哲不由得感慨起自己的高明,居然只改了几个代码,就把整个防火墙也跟著隱蔽起来。 现在这玩意儿看起来就不像是某些人请程式设计师专程给自己设置的,而像是一个普通的防火墙,唯有在尝试攻破的时候难以突破了。 “顺便把我的个人信息再修改一下。” 陈哲之前做的还是有点明显,但是这一次不会了。 比起本就是电脑设置一部分的防火墙,社工库的网页显然没那么容易攻破,云端的伺服器修正一切,陈哲没法直接改动网页,便尝试著稍微使用一些代码,在力所能及的方面做一些订正。 不过一两分钟的时间,陈哲就把事情做得更加天衣无缝。 “看来这手感確实是常驻的。” 陈哲清点著自己的收穫,微微点了点头,重新返回到界面里確认剩下的收穫。 献血经验到达lv2这个无可厚非,陈哲现在確实对那里有了很多猜测,而这一次的奖励除了两个技能方面的提升之外,还有分別两个人的信物。 【本尼西奥的信物:一个刻著双头蛇杖的名片,但是上面没有预留联繫方式。】 【玛丽亚的信物:一个针管,血液在其中匯聚成一句暗语——请留意献血的地点。】 请留意献血的地点? 陈哲看著文字下面的一行小字,please mind the blood donation site,顿时思考起了他献血的地址。 纽约曼哈顿上东区献血中心分站,怎么了? 在美利坚,献血中心通常被称作血液中心(blood center),与东大常见的主要由红十字系统主导的献血模式不同,美国的血液採集和供应体系呈现出显著的多元化和社会化特徵,其中“社区血液中心”是绝对的核心力量。 这种献血中心就是以非营利性、非政府组织宣称,一般来说每个献血中心都大差不差,可这实在是不能让陈哲看出些许端倪,甚至说显得有点谜语人了,与其说是提示倒不如说是徒增焦躁。 “算了,就当没有这一句话,去了站点之后,也可以通过呼唤艾米丽护士的名字,问出一些问题。” 思索再三。 陈哲想了想,下了决策,准备等明天去一趟上东区献血中心,关了电脑。 …… 转眼,另一边也已经寻觅到了法子。 布莱顿海滩。 布莱顿海滩位於布鲁克林最南端,是纽约著名的俄语区。这里的街道招牌同时写著英文和西里尔字母,街角的熟食店卖的是乔治亚包子,超市里堆著成排的格瓦斯和酸黄瓜罐头。 夜晚,谢尔盖坐在一家名为“小敖德萨”的咖啡馆里,面前的咖啡已经凉透了。 他对面坐著一个瘦削的白人男性,二十五六岁,戴著黑框眼镜,头髮乱糟糟地扎了个小揪,卫衣上印著某个过气开源项目的logo。他叫伊戈尔,是谢尔盖在社区大学认识的“技术专家”。 “就这个人。”谢尔盖把手机推过去,屏幕上是一张偷拍的照片——陈哲站在长岛商学院的走廊里,侧脸,背著那个破旧的电脑包。 伊戈尔瞥了一眼,点点头。 “中国人?” “对。” “叫什么?” “陈哲。z-h-e陈,大概这么拼。”谢尔盖往后靠在椅背上,“把他所有的信息扒出来——住址、电话、社交帐號、银行流水,能找多少找多少。” 伊戈尔又瞥了一眼那张照片,然后从口袋里掏出他那台macbook air,打开,手指在触控板上划了几下。 “等著。” 谢尔盖端起那杯凉透的咖啡,抿了一口,目光落在窗外。布莱顿海滩的午后没什么人,只有几个老人在长椅上晒太阳,海鸥在垃圾桶旁边翻找食物。 十分钟后。 伊戈尔的脸色变了。 他的眉头皱起来,手指在键盘上敲得更快了一点。屏幕上的窗口一个接一个弹出来,又一个接一个关上。 二十分钟后。 他的额头上开始冒汗。 三十分钟后。 他把电脑合上了。 谢尔盖放下咖啡杯,看著他。 “怎么?” 伊戈尔沉默了几秒,然后深吸一口气。 “抱歉,我没有办法完成你的任务。” 谢尔盖的眉毛挑了起来。 “什么意思?” 伊戈尔把电脑推开,目光落在窗外,不敢看他。 “这个人的信息……”他顿了顿,“已经被改过了。” 谢尔盖盯著他。 “改过?什么意思?” 伊戈尔咽了口唾沫。 “社工库里他的信息还在,名字还在,签证照片也还在。但其他的——住址、电话、邮箱、位置记录、关联帐號——全是空的。”他转过头,看著谢尔盖,“不是没有,是被清掉了。乾乾净净,什么都不剩。” 谢尔盖沉默了几秒。 “你能恢復吗?” “恢復不了。”伊戈尔摇头,“这不是刪记录,是覆盖。他把自己的痕跡抹掉了,而且抹得很乾净。就算是我认识的那些真正的高手来,也查不到什么。” 谢尔盖的表情僵住了。 他想起那天在教室里,那个中国人从他们身边走过,一句话没说,眼皮都没抬一下,以及自己让小弟去开盒他的信息……当时觉得只是个小玩笑,嚇唬嚇唬那个书呆子。 “你確定?”他的声音低了下来。 “我確定。”伊戈尔站起来,把电脑塞进背包里,“我不知道你惹上的是谁,但这个人……或许就是他吧,毕竟怎么会有人愿意把自己的私密信息袒露给不知身份的人呢?只能是他自己刪除的。” “虽然我也不否决他可能认识一些编程的高手,能通过ip地址反向锁定人的,不管是哪种,我劝你別再碰他了。” 他往外走了两步,又停下来,回头看了谢尔盖一眼:“我收你一半钱。这事就当没发生过。” 他走了。 谢尔盖一个人坐在咖啡馆里,盯著窗外布莱顿海滩灰蓝色的海水,好一会儿没动。 “还好只有我一个人来了……” 谢尔盖喃喃自语,心中一阵后怕。 第三十三章 物是人非 十二月的天气比之十一月更显冷冽。 灰濛濛的早晨,“幸运panda”中式快餐店的玻璃门上结了一层薄薄的水雾。 店里灯全开著,惨白的日光灯把每一个角落照得纤毫毕现。门口那台老式点餐机发出微弱的嗡嗡声,屏幕上裂了一道缝,用透明胶带粘著,胶带边缘已经泛黄卷边。 陈哲穿著店员制服,低头頷首地扫著地。 店里只有三桌客人。一桌是穿著工装的黑人中年男人,埋头对付一盘炒麵;一桌是两个裹著厚大衣的白人老太太,小声聊著什么,面前的春卷一动没动;还有一桌是独自坐著的年轻女孩,盯著手机,面前放著一杯喝了一半的可乐。 老板娘站在收银台后面,手里捧著那个泡枸杞的保温杯,目光从店里扫过,最后落在门口那桌空著的位子上。 那桌靠窗,正对著街对面的修车厂。平时总有个白人老头坐在那儿,灰色鸭舌帽压得很低,点一份左宗棠鸡,对著盘子发呆,一坐就是一下午。 今天那桌空著。 老板娘收回目光,继续喝她的枸杞水。 陈哲把最后一点垃圾扫进簸箕里,直起腰,顺手把扫帚靠在墙边。他走到窗边,往外看了一眼。 街对面的修车厂开著门,一辆红色的福特被架起来,几个墨西哥模样的小工在车底下钻来钻去。再远一点,是那栋红砖公寓楼,楼顶的卫星锅歪了,没人修。 他转回身,目光从那空著的桌上扫过。 丹尼斯没来。 这个念头在他脑子里转了一圈,没激起什么波澜。那老头本来就来去不定,有时候一周来三次,有时候半个月不见人影。今天没来,明天可能就来了。 但陈哲还是多看了一眼那空著的座位。 艾米丽从后厨端著两盘菜出来,绕过陈哲,往那桌老太太走过去。她把菜放下,说了句“enjoy”,隨后,转身往回走。 经过陈哲身边的时候,驀地,她顿了一下,压低声音:“你今天怎么一直往那边看?” 陈哲没回答。 艾米丽顺著他的目光看过去,看见那空桌,愣了一下,然后小声说:“噢,你说那个怪老头?” “怪?” “不怪吗?”艾米丽耸了耸肩,“每次来都点一样的,吃不完还非要打包。有一回我问他味道怎么样,他看了我一眼,什么都没说。” 【记住全网最快小説站 101 看书网超实用,101??????.??????轻鬆看 】 陈哲点点头,没再问。 艾米丽回了后厨。 店里重新安静下来,只剩下炒菜的声音和那桌老太太偶尔的交谈声。 陈哲继续扫地。其实地已经扫乾净了,但他还是拿著扫帚,在店门口那一小块地方来回划拉著。目光偶尔落在窗外,偶尔落在那空桌上。 十一点半,那桌老太太结帐走了。 十二点,穿工装的黑人男人也走了。 十二点半,年轻女孩收起手机,把最后一口可乐喝完,站起来离开。 店里只剩陈哲和老板娘,还有后厨隱约传来的炒菜声。 老板娘从收银台后面走出来,在店里转了一圈,把几张桌子擦了一遍。擦到靠窗那桌的时候,她停了一下,用抹布在那桌面上多蹭了两下。 然后她直起腰,看著窗外,忽然开口。 “我噻,那老头,”她说,声音不大,像是在自言自语,“有一个星期没来了吧?” 陈哲握著扫帚的手顿了一下。 “一个星期?”他想了想,“不止吧。” 老板娘回过头看他。 “我记得,”陈哲说,“上周三他就没来。上周五也没来。这周……”他顿了顿,“今天是周二。” 老板娘没说话。她盯著窗外看了几秒,然后拿著抹布回了收银台。 陈哲站在原地,忽然意识到一件事。 丹尼斯不是今天没来。 他已经很久没来了。 陈哲等到了十二点半多点的时候就离开了快餐店,因为他的签证只能一周內完成二十个小时的工作,从八点工作到现在儼然是仁至义尽。 陈哲走在布鲁克林区的街头,放眼望去,天空还是那副灰濛濛的样子,像是有人拿一块脏抹布把太阳遮住了。 街上人不多。一个裹著破羽绒服的黑人老头推著购物车走过,车里堆满了塑料瓶和旧报纸,轮子咯吱咯吱地响。一个巷子里,几个精神涣散的人向著陈哲这边投来打量和怨毒的目光。 街边的垃圾桶已经满了。黑色垃圾袋鼓鼓囊囊地堆在旁边,有几只已经被野猫撕开,里面的东西散落一地——快餐盒、易拉罐、揉成一团的报纸、一只掉了跟的高跟鞋。海鸥和鸽子在垃圾堆里翻找,时不时因为爭抢一块发霉的麵包而扑腾著翅膀尖声嘶叫,头破血流。 陈哲快步走过街头,並且换下了自己胸口的员工码牌,几乎是逃也似的进入了地铁站,地铁站入口的阶梯往下延伸,消失在昏黄的灯光里。 墙壁上的涂鸦一层叠著一层,最新的那幅喷上去没多久,顏料还在反光,画的是一个骷髏头戴著棒球帽,下面写著一行字:welcome to brooklyn(欢迎来到布鲁克林)。 罐头被捏瘪时候发出的气声,大声喧闹时候的爆笑声,陈哲在地铁站之中几乎是宛如被雷电劈中了一般浑浑噩噩,翻著手机,上面x推群组里程式设计师的喧闹一闪而过。 【小王子:你们说,这年头还有人在用svn吗?我今天面试一个公司,居然还在用svn,我都快忘了这玩意儿怎么用了。】 【爱来自冒险家协会:笑死,svn?那是上古遗蹟了吧。】 【麦克:我上一家公司就在用svn,老板说git太复杂,员工学不会。】 【全民超人:那你老板现在还在用svn吗?】 【麦克:公司倒闭了。】 【小王子:哈哈哈哈哈哈。】 陈哲抿著嘴,百无聊赖地翻著过往的聊天记录,清爽俊朗的面孔里冷汗涔涔,这些聊天记录在他的眼里就像是过眼云烟一样没留下多少记忆。 他倒也不是打算在群里冒个泡,而是除了看视频数据之外,打开这个群组已经是他比较习惯的动作,用这种方法缓解紧张,因为丹尼斯,恐怕真的盯上他了。 第三十四章 玛丽亚 乘坐6线前往曼哈顿,又在68街亨特学院站下车,陈哲打开车门就是上东区。 到了上东区,显然就和布鲁克林区的城市面貌截然不同。 街道宽阔整洁,人行道上的砖铺得整整齐齐,没有翘起的那几块。垃圾桶规规矩矩地立在路边,盖子盖著,朱红色的消防栓静静矗立。 路边的建筑从红砖老公寓变成了石质外墙的高级住宅楼,门口站著穿制服的门童,玻璃门擦得鋥亮,能照见人影。 街上走的不是推购物车的流浪汉,而是穿著羊绒大衣的女人、牵著狗的男人、推著婴儿车慢跑的年轻母亲,婴儿车里的小孩裹得严严实实,只露出一张小脸,双眸水润好奇地看著这个世界。 这些人在陈哲的面前缓缓走过。 “这就是上东区?” 陈哲若有所思,之前也不是没有来过曼哈顿,程式设计师聚会那次就是。只是没有想到哈德逊河畔和这里的差別竟然这样大,刚才紧张的心情也稍微舒缓了一点,毕竟就算被盯上了,应该暂时也不会出太大的事情。 陈哲自詡和沾了毒贩的黑恶势力是掰不了手腕的。 毕竟引以为傲的编程技术和cqc近身格斗技很可能在对方那里都有碾压自己的人,这也就让陈哲颇为头大,如果是模擬还可以一笑了之,当条汉子,奈何现实没法套技能读档重来。 或许继续模擬下去还有解法,不过现在干著急也没什么用,该干什么还是得干什么。 “黑恶势力坏啊!” 陈哲心中无声地感慨一句。 他打开了自己的paypal钱包,上个月的房租已经交了,步入新的一月,自己的余额也算是快要跌入斩杀线里,只剩下了寥寥四百刀。 余额上赫然是亮眼的$423.6。 【记住全网最快小説站 找书就去 101 看书网,101??????.??????超全 】 youtube刚刚起號的帐號赚不到什么钱,要赚钱也得等陈哲按照计划的一周后的“付费视频”才开始,现实生活中自己也没有进入公司,诸般不便之下,就难免陷入到了这种窘境。 正巧自己有著lv2的献血经验,这会儿从列克星敦大道走到献血站的功夫,说不准在那里也能像模擬器里攫取到一点钱,以至於不会沦落到贷款的境地。 发薪日贷款和美国国税局的威力陈哲是知道的。 念及至此,陈哲想了想,就不再多虑。 陈哲实在是掏不出来多余的钱,这次在地铁上就花了两美元,如果去找玛丽亚没有其他收穫的话,指不定从一开始就是亏的。 …… 到了献血站前,陈哲抬头看了一眼那栋建筑。 纽约上东区献血中心分站——白色的底,蓝色的字,边缘有一点点褪色,右下角有个不起眼的记號,像是被人用手指抵过。 建筑本身不显眼,夹在一家药店和一家熟食店之间,只有一扇玻璃门通向街道。门玻璃上贴著几张海报,宣传献血的好处,还有一张告示,写著“营业时间:周一至周五 9:00-17:00”。 陈哲推门进去。 一股消毒水的气味扑面而来,混合著淡淡的柠檬清新剂的味道。前台是一个小柜檯,后面坐著个年轻的黑人姑娘,正在低头看手机,听见门响抬起头来。 “献血还是諮询?”她问。 “献血。” 黑人姑娘点点头,从旁边抽出一张表格递过来。 “填一下,个人信息,健康状况。第一次来?” “算是。”陈哲接过表格。 她没多问,指了指旁边的等候区。 陈哲在塑料椅上坐下,开始填表。姓名、年龄、联繫方式、过往病史……他一项一项填著,目光不时扫过柜檯后面的那扇门。 门半掩著,能看见里面是一条走廊,两侧是几个房间。有人在走动,白色的护士服一闪而过。 他填完表,交回柜檯。黑人姑娘扫了一眼,放进文件夹里,然后拿起电话拨了个內线。 “有人献血,表格填好了。” 电话那头说了句什么,她掛断,朝陈哲点了点头。 “稍等,护士马上出来。” 陈哲靠回椅背,目光落在那扇半掩的门上。 等了几分钟,门被推开,走出来一个年轻的白人女性。金髮,扎成马尾,瘦削的脸颊,颧骨有点高。她穿著护士服,胸口別著工牌,上面写著“凯特琳”。 不是玛丽亚。 陈哲的目光在她脸上停了一秒。 凯特琳走到前台,拿起表格扫了一眼,然后抬起头看向陈哲。 “陈?” “对。” “跟我来吧。” 她转身往回走,陈哲站起来跟上。 走廊不长,两侧是几间採血室,门半开著,能看见里面白色的躺椅和那些熟悉的仪器。走到第三间,凯特琳推开门,侧身让他进去。 “躺下吧,把袖子挽起来。” 陈哲在躺椅上坐下,把外套脱掉搭在椅背上,挽起左臂的袖子。凯特琳在他旁边坐下,开始准备器械——消毒棉球、针头、血袋。 她动作很熟练,但陈哲注意到,她拿针头的时候多看了一眼。 “经常献血?”她忽然问。 陈哲愣了一下。 “怎么看出来?” “你手臂上。”凯特琳用下巴指了指他的左臂內侧,“有几个针眼,位置很准,一看就是老手。” 陈哲低头看了一眼自己的手臂。確实有几个浅浅的痕跡,不明显,但仔细看能看出来。 只不过这玩意儿大概不是针孔……陈哲没想到的是,献血经验居然会改变自己的身体,这其实是一种心理暗示的现象,就像杯弓蛇影。 “在外地献过几次。”他说。 凯特琳没再问。她拿起消毒棉球,在他手臂上擦了擦,凉凉的。 “放鬆。” 针头扎进去的时候,陈哲的目光落在天花板上。白色的,有几块污渍,像是漏水留下的痕跡。日光灯嗡嗡响著,和模擬器里那些文字描述的细节一一对上了。 血袋一点一点满起来。 凯特琳坐在旁边,低头在本子上记著什么。偶尔抬头看一眼血袋,看一眼他,然后继续低头写字。 “你认识玛丽亚吗?”陈哲忽然开口。 凯特琳的手顿了一下。 她抬起头,目光在他脸上停了两秒。 第三十五章 互助会 “你找玛丽亚?” “对。” 凯特琳沉默了一秒,然后继续低头写字。 “她在后边。负责库房的。”她说,“你找她有事?” “算是。”陈哲说,“之前见过几次,想打个招呼。” 凯特琳点点头,没再问。 血袋满了。她熟练地拔出针头,用棉球按住,递过来一卷医用胶带。 “按五分钟。” 陈哲按著棉球坐起来。 凯特琳把血袋收好,在本子上又记了几笔,然后站起来。 “外面等一会儿,钱马上给你。”她走到门口,又停下来,回头看了他一眼,“玛丽亚那边,我帮你叫她。” 她出去了。 陈哲按著棉球坐在躺椅上,目光落在那扇关上的门上。 等了大概五分钟,门被推开。 (请记住????????????.??????网站,观看最快的章节更新) 进来的是一个中年女人。 棕色的头髮,挽成一个低髻,有几缕灰白的髮丝散落下来。眼窝有点深,颧骨突出,嘴唇很薄,抿著的时候看起来有点严厉。她穿著护士服,外面套著一件深蓝色的开衫,手里拿著一个信封。 玛丽亚。 陈哲的目光落在她脸上,和模擬器里那个中年护士的形象重合了。 就是她。 玛丽亚走到他面前,把信封递过来。 “你的。” 陈哲接过信封,捏了捏,薄薄的,应该是现金。他抬起头,看著她。 “我叫陈哲。”他说,“我们见过的。” 玛丽亚的目光在他脸上停了一秒,然后移开。 “很多人来献血。”她说,“我不一定都记得。” “你记得。”陈哲说,“上次我来的时候,你问过我,为什么每周都来。” 玛丽亚没说话。 “我当时说缺钱。”陈哲继续说,“那是假的。我来,是因为有人让我来。” 玛丽亚的眉头微微皱了一下。 “谁?” 陈哲看著她,没有直接回答。 “你上次说了一句话,”他说,“你说,『为什么每次都要抽你这么多血』。我当时没反应过来。后来我想了很久,才明白你话里有话。” 玛丽亚沉默了几秒。 然后她走到门口,把门关上。 转回身,她看著陈哲,眼神和刚才不一样了,一种说不清的复杂。 “你到底是什么人?”她问。 …… “这些话都是朋友让我说的。” 虽然非常时期要用非常手段,但是陈哲也不至於直接把自己和模擬中的自己联繫上,这话玛丽亚大概对很多人说过,也正是因为这么一个缘故,他才敢这么开口。 “原来如此。”玛丽亚点了点头,“所以,你来之前,应该已经了解了这里的地址。” “差不多吧。” 陈哲直起身子,思忖著说:“曼哈顿本就是富裕的市区,上东区是標准的世界知名的顶级富人区之一,常作为老钱old money和精英阶层的代名词,但这样一个地方的献血站,来的却全是我这样的人。” 玛丽亚没说话。 “我刚才在外面等的时候,扫了一眼登记表。”陈哲继续说,“前面几个人,地址写的都是布鲁克林、皇后区、布朗克斯——最远的甚至有从史泰登岛过来的。没人住在上东区,没人住在曼哈顿。” 他停顿了一下。 “一个献血站,服务的对象不是本地居民,而是从全市各个角落专程跑过来的人。为什么?” 玛丽亚的目光微微动了一下。 “因为本地的献血站不够用?”陈哲自己回答了自己的问题,“不对。曼哈顿的医疗资源是全纽约最好的,献血站密度肯定不低。那为什么要捨近求远?” 他把那捲医用胶带在手指间转了一圈。 “唯一的解释是,这个献血站有別的献血站没有的东西。” 玛丽亚开口了:“什么东西?” “钱。”陈哲说,“以及更高的报酬。” 陈哲並不觉得医疗就是献血背后隱藏的东西。 正如陈哲所了解到的,美国的献血站和东大的献血站不同,是私人营业机构,本意是助力公益,也难免有人打著冠冕堂皇的幌子搞点小动作。 不过在当下的美利坚,这些小动作反而也有可能是正义的,因为美利坚政府说到底也是个只看钱的政府。 “確实有著更高的报酬。” 玛丽亚淡淡地说:“而且,这里的人都知道。” 玛丽亚走到门边,把门拉开一条缝,往外看了一眼。 走廊里没人。 她把门重新关上,转过身,靠在门板上,看著陈哲。 “你猜对了一半。”她说。 陈哲等著她继续。 玛丽亚沉默了几秒,像是在组织语言,又像是在做决定。最后她嘆了口气,走过来,在他对面的塑料椅上坐下。 “这个献血站,”她开口,声音压得很低,“背后的老板不是公益组织。” 陈哲没说话。 “是一家公司。”玛丽亚继续说,“名字我不能告诉你,说了也没用,你查不到的。他们在全美十几个城市都有这种站点,名义上是社区血液中心,实际上……” 她顿了顿。 “实际上什么?” 玛丽亚看著他,眼神里有一种说不清的东西——不是警惕,也不是恐惧,更像是某种疲惫。 “你知道血浆是做什么用的吗?” 陈哲想了想:“治病。输血。烧伤病人需要,血友病患者需要,手术也需要。” “那是最基本的。”玛丽亚说,“血浆真正的价值,在於里面的蛋白质。白蛋白、凝血因子、免疫球蛋白——这些东西提取出来,一袋血浆能卖到几百甚至上千美元。” 陈哲的眉头微微皱起。 “献血者拿几十块,血浆公司加工一下,卖几百块。”他说,“是这个逻辑?” “不止。”玛丽亚摇头,“如果是正常的商业逻辑,那也就算了。问题是……” 她停下来,看著陈哲。 “你刚才说,这个献血站来的人全是外区的。你知道为什么吗?” 陈哲想了想:“因为本区的人不愿意献?” “不是不愿意。”玛丽亚说,“是不能。” 陈哲愣了一下。 玛丽亚站起来,走到门边,把门拉开一条缝,又看了一眼。確认没人,她才走回来,重新坐下。 “上东区住的什么人?”她问,“富人。有钱人。他们有自己的私人医生,有自己的医疗渠道。如果他们需要血浆,他们可以直接联繫血库,或者去私立医院。他们不会来这种地方。” “那来这里的……” “是那些没钱的人。”玛丽亚说,“从布鲁克林来的,从皇后区来的,从布朗克斯来的。他们来,是因为这里的价格比他们家门口的献血站高一点。几十块钱的差价,对他们来说就是一周的饭钱。” 陈哲沉默了几秒。 “那公司呢?”他问,“公司要那么多血浆做什么?” 玛丽亚看著他,没有说话。 陈哲忽然想起模擬器里那句话:“为什么每次都要抽你这么多血?这都够两个人用的了……” 他的脑子里有什么东西串起来了。 “他们不只是收血浆。”他说,“他们是在……超额抽血?” 玛丽亚没有否认。 “你献一次全血,按规定要间隔八周。献血浆,两周。”她低声说,“但这里的人,很多人每周都来。你知道为什么吗?” “因为缺钱。” “对。因为缺钱。”玛丽亚点头,“他们知道这样对身体不好,但他们需要那几十块钱。公司知道他们需要那几十块钱,所以睁一只眼闭一只眼。” 陈哲的眉头皱得更紧了。 “你刚才说,血浆里的蛋白质能卖几百上千。”他说,“那公司赚的差价……” “不是差价的问题。”玛丽亚打断他,“是量的问题。一袋血浆的利润是固定的,但如果一个人献的量是正常的两倍、三倍呢?” 陈哲没说话。 玛丽亚站起来,走到窗边,背对著他。 “这家公司养著十几个这样的献血站,全美各地。每个站点都有一批固定的人,每周来,每月来,年年如此。他们以为自己是在献血,是在做好事,是在赚点外快……” 她顿了顿。 “但实际上,他们是在给那个公司供血。” “那这个公司的名字叫什么?”陈哲打断对方的话头。 每个国家都有隱形富豪,有些是纯隱形的,看不出来半点端倪,就连名字都没有留下。而有些人的名字早就已经被传了成千上万遍,以至於让人想不起来,甚至不觉得对方有钱。 如果陈哲能知道这一点的话,说不定在模擬器之中就有了另外的一个走向。 “我不知道。” 然而玛丽亚並不知道这一点:“其实这些都是互助会內部的说法……刚刚我说的这些话,本都是不应该说的,这破坏了规矩。” 互助会! 陈哲又一次听到了一个陌生的字眼,如果加入到这个组织里面的话,很有可能就能得到献血站之后公司的名字,一昧钻研计算机技术的同时,倒也可以让模擬器里的那个程式设计师“陈哲”了解一下世界的真相…… 陈哲思索了一会儿,问:“规矩?” 气氛陡然安静了下来。 “互助会的第一条规则是不能提及互助会。” “那第二条呢?” “互助会的第二条规则,依然是不能提及互助会。” 第三十六章 换门 献血站外的天空明媚刺眼,高饱和度的色调令人精神一振,陈哲感到壮志难酬,掂量著手里的信封,心情之中的紧张不免鬆弛下来了不少。 “虽然照现在这么看,我进入这个互助会打探情报的希望微乎其微,但是在模擬器里,我大可以不顾自己的身家安危直接潜入进去,看看能不能引为助力。”陈哲若有所思。 陈哲的模擬器有的时候並不一定只是作为获取技能的用途,也可以用力获得情报,就像老兵兰博的模擬之中,让陈哲得知那个加拿大人丹尼斯不仅是个毒贩,还是僱佣了私人团体的。 现在说好听点叫私人团体,换以前就是私人武装,更何况没有禁枪令的约束,陈哲觉得那一帮人始终是个祸害,目前还是需要给自己找一些人引以为帮助的,否则难免被闹出事端。 “至於本尼西奥的信物,对方虽然说过混不下去了可以来墨西哥试一试,但是那边到底是你杀我、我杀你的边境社会,而且也不清楚这个药店老板的信物的份量,所以只能暂时搁置下来。” 陈哲思索许多,脑海之中闪烁起那一个刻著双头蛇杖的名片。 …… 杰姆尼已经两天没有去学校了,不过这倒不是什么ptsd,而是他正焦头烂额地思索著门扉的事。 邻居们都对这件事心照不宣,但是房东太太这几天也还是要回来了,房东先生对於这些事情的宽容並没有在他的太太的身上体现出半分,相反,房东太太还是个爱刁难人的性子。 陈哲推开公寓楼的门,爬上三楼。 那扇门还是老样子——木板钉在门框上,勉强遮住那个被匕首戳穿的窟窿。胶带边缘已经翘起来了,风从缝隙里灌进来,呜呜地响。 (请记住101??????.??????网站,观看最快的章节更新) 陈哲掏出钥匙,刚插进锁孔,门就从里面被拉开了。 杰姆尼站在门口,头髮乱得像鸡窝,眼眶下面两道青黑,t恤上印著某个他叫不出名字的乐队logo,领口已经洗得发白。 “你回来了?”杰姆尼的声音有点沙哑。 陈哲走进去,把背包扔在沙发上。 “兄弟,你两天没去学校,就这么呆在家里?”陈哲。 “我知道。”杰姆尼关上门,转过身靠在门板上,“我这不有事吗。” 陈哲瞥了他一眼,没说话。他走到窗边,看了一眼那扇被木板钉住的门。 门框上还有几个刀戳出来的洞,边缘的木屑翘著,露出里面发白的木头纤维。胶带贴了好几层,但没什么用,风一吹就呼啦啦响。 “房东太太什么时候回来?”他问。 杰姆尼的脸色变了变。 “明天。”他说,“她女儿打电话来了,说下周要办婚礼,她得提前过来帮忙。” 陈哲点点头。 沉默了几秒。 杰姆尼走过来,在他旁边的沙发上坐下,双手交叉著撑在膝盖上,盯著那扇破门。 “咱们得换个门。”他说。 “知道。” “fbi不会赔的。” “知道。” 杰姆尼转过头看著他。 “那怎么办?自己掏钱?” 陈哲没说话。他盯著那扇门,脑子里飞快地转著。 换一扇门,在纽约这种地方,少说也得三四百美元。材料费、人工费、安装费,加起来可能更多。他现在身上只有四百二十三美元,加上今天献血拿到的钱財,倒是还算充裕。 但房租下周就要交了。 水电费也快到期了。 youtube那边的付费视频还要一周才能上线,就算有人买,钱到帐也要等。 他转过头,看著杰姆尼。 “你身上还有多少?” 杰姆尼愣了一下,然后开始翻口袋。他从牛仔裤里掏出一个皱巴巴的钱包,打开,数了数。 “八十七。”他说,然后又把硬幣掏出来,“加上零钱,九十出头。” 陈哲点点头。 “我这边有八百八。”他说,“加起来快一千。换个普通的门应该够。” 杰姆尼盯著他看了几秒。 “你哪来那么多钱?” “献血。”陈哲说,“还有攒的。” 杰姆尼张了张嘴,想说什么,但最后还是咽了回去。他站起来,走到那扇破门前,用手推了推。木板晃了晃,发出吱呀的声响。 “这种门,”他说,“最便宜的也要三百五。加上人工,四百五到五百。如果选好一点的……” “就选最便宜的。”陈哲打断他,“能用就行。” 杰姆尼点点头。 沉默了几秒。 “但是谁来装?”杰姆尼忽然问。 陈哲看著他。 “你装过门吗?” 杰姆尼摇头。 “我也没有。”陈哲说。 两个人对视了一眼。 杰姆尼挠了挠头,走回沙发边坐下。 “那怎么办?找人装?” “找人装要加钱。”陈哲说,“至少再加一百。” 杰姆尼嘆了口气,往后靠在沙发上,盯著天花板。 天花板上那块水渍还在,比上个月又大了一圈,形状像一只正在伸展的肺。隔壁印度菜的咖喱味准时飘过来,混合著老木头和灰尘的气息,在这间逼仄的客厅里慢慢发酵。 “要不……”杰姆尼忽然开口,声音有点犹豫,“咱们自己试试?” 陈哲转过头看他。 “你认真的?” “反正装不好还能再找人。”杰姆尼坐直了身子,“youtube上有教程,我看过。就是量尺寸、买材料、钻孔、拧螺丝。咱们两个大男人,还能搞不定一扇门?” 陈哲沉默了几秒。 然后他站起来,走到那扇破门前,用手推了推。 木板又晃了晃。 真要换门的话,自己这钱就要砸水漂了…… 虽说就算是拿这笔钱换一把枪也不亏,陈哲儼然以亚裔的身份合法地获得了那一把格洛克17,但是这枪终究不是他的,所以陈哲还是想要省一点钱用。 “行。”他转过头看著杰姆尼,“试试就试试。” 杰姆尼愣了一下,然后咧嘴笑了。 “这才像话。”他站起来,走到自己房间门口,推开门,“我先查查教程,明天去买材料。你明天有空吗?” “上午没课。”陈哲说。 “那就上午去。”杰姆尼说,“home depot应该有卖的,我记得威廉斯堡那边有一家。” 第三十七章 赚钱,付费视频 杰姆尼回房间后,客厅重新安静下来。 陈哲在沙发上坐了几秒,然后打开那台二手thinkpad,屏幕亮起来的时候,他习惯性地先看了一眼应用,模擬器的快捷方式还在。 他把目光移开,打开瀏览器,登录youtube。 页面加载完毕。 陈哲的目光落在屏幕上,整个人愣住了。 订阅数:8,472。 八千多人? 陈哲有些失神,反覆確认了几遍这就是自己的帐號,方才立刻检索起后台里播放量最高的视频,这几天的时间他也在一直保持更新,编程教学早已经从入门讲到了稍微深刻一些的地方,更新到了第18期。 按理来说,正常的流程之下,第一期视频的数据永远是最好的,主打一个存量市场,从播放量和收藏数量上也可以看出內容上存在的一些问题。 可现在不是陈哲的第一期视频数据最好,而是第六期,一期讲述文件操作和异常处理的视频,足有五万播放量,比第一期的4.3w播放量要高出了一个级別。 “这是出什么事了?” 陈哲镇定下来,他对网上的事情一直没有什么实感,所以就算一下子获得很大的进展也很难欣喜若狂,在平復下心情之后,立刻回到了自己的第一期视频,开始寻找数据暴涨的原因。 热门评论仍然是一些对课堂知识的省流笔记。 陈哲打开按时间排序,顿时发现了一些端倪。 【牢码说这个频道主的思路不错,过来关注一下。】 【稳扎稳打,看了十分钟就知道是个狠人。】 【只有我觉得不论是牢码还是你们都吹得太过了么?】 牢码?陈哲若有所思,这些评论有一部分是中文使用者留下的,赫然是他之前准备笼络的那些中国计算机学生受眾了。 这个“码”还是没让陈哲想起什么,他微微皱著眉头,找了找,总算才知道这个“牢码”到底是谁。 “原来是这样。” 陈哲不由感慨,果然还是人脉带来的好处。 布鲁克林区程式设计师交流群的群主,也就是youtube上“码农日记”的频道主“本”,在最新的一期视频里推荐了自己。 牢码,也就是码农日记了。 对方和自己这一边的受眾类似,有了对方的扶持,自己就迅速积累了不少粉丝,可以说是度过了订阅者缓慢增长的低谷期。 “但是这件事也有些许缺点,那就是这样从今往后的数据就没有什么参考的价值了。”陈哲嘆了一口气。 如果粉丝是缓慢积累的,那么最新期视频的播放量就可以证明存量,但是有了这么一眾订阅者之后,有些人或许会秉著看热闹的心態去查看最新一期的视频,这就导致了订阅流向做得並不好的youtube后台对这些数据没有任何分析的能力。 况且,这背后还隱藏著一个陷阱,如果自己还继续做著相似的內容,恐怕就会被这些远超於本来订阅者数量的新增粉丝给衝垮,活在码农日记频道的影子里。 可以说是一柄双刃剑了。 “只不过,这倒也刚好。” 陈哲退掉评论区,心中盘算著自己从中攫取的收穫。 毫无疑问,这是弊大於利的,因为受眾类似,所以和码农日记频道对標是迟早的事,之后自己就算要开启直播,倒也是无可厚非,到了那个时候说不准会遇到不少同行。 提前训练一下承担压力的能力不失为一件好事。 快速增长的粉丝让自己的老粉度过了长草期,这也就有了让陈哲更新全新的內容的信心。 那就是,付费视频。 通过讲解高端程式设计师技巧,对粉丝群体割的一波韭菜! “质量很重要,需要有那种让人眼前一亮的,这样才能持续发展。” 陈哲望著草稿箱里录好的几期视频,心里顿时有了打算。 可惜的是今天陈哲已经更新,额外增加一期视频带来的影响力很低。 “正好,明天把这些事情都一併处理了。” 陈哲在这方面是从来不会客气的。 这件事无疑让人精神一振,这个订阅者数量,再加上自己正处於上升期,如果开启了付费视频,至少餬口的钱是有了,可以考虑吃穿用度摸爬滚打之外的花销。 就连原本被丹尼斯盯上的精神压力,也不自觉地鬆弛了不少,算是少有的一件喜讯。 “只是……” 陈哲眉头紧蹙,打开模擬器,上面没有刷新模擬次数。 这东西的刷新机制究竟是什么,陈哲是真的不清楚。 …… 十二月的阳光难得慷慨一次,从稀疏的云层里斜著打下来,照在布鲁克林麦卡伦公园的草坪上,把枯黄的草染成一种淡淡的金色。 公园不大,在长岛商学院往东走十分钟的地方,平时是附近居民遛狗、慢跑的场所。今天被校方借来办运动会,入口处拉了条红色的横幅,上面印著“长岛商学院冬季运动会”几个字,字体是那种廉价的电脑体,边角已经有点卷边了。 陈哲坐在石凳上,身边坐著一些同学,而前面的这活动场地里则是各种肤色交织的学生被寥寥几位教师记著分,讲管理学的特尔教授也在其中。 项目不多,也就是一些在这里能做的引体向上、举重、格斗而已,陈哲在上个月里没有报名,所以是观眾。 “社区大学欢乐多啊。” 陈哲不由感慨了一句,社区大学的活动类型较多,运动会也是其中之一,斯奎奇大王也曾做过社区大学的志愿活动,可见这些本来就没有什么希望的学生整活方面的一流。 早上的时候,他已经和杰姆尼去home depot把装修门的东西买好,本想著即刻动工,但是思索再三还是来了这里。 “我看我应该是安全了。”杰姆尼从前几日入室抢劫的事情里回过神来,现在已经可以正常外出,每天保持著健身习惯。 陈哲略略点头,只不过却对方说的话不敢苟同。 这几天里,很多事情都串了起来,他本来觉得丹尼斯没法留意到自己,但是如果没有留意,为什么自己在去往罗德里格斯夫妇家中之后,丹尼斯就不再前来自家快餐店? 第三十八章 查询地址 入室抢劫一事可能是偶然,但是现在这些人被抓了进去,这一点闹出来的动静还是没法避免的,如果本来没有留意,到这个点也该留意了。 “不论怎么样,在美利坚还是得留心一点。” 陈哲叮嘱著杰姆尼。 “这……也不用这么小心吧?”杰姆尼感觉陈哲这句话说的有点让他不寒而慄。 就在这个时候。 “陈。”杰姆尼忽然声音小了下来,用下巴指了指公园西边。 陈哲顺著对方的视线看去,果然看到一个金髮的俄罗斯人,比他矮上那么一点,只是肩膀很宽,走起路来左摇右晃,不久就停到了陈哲的面前。 “陈哲,我们单独见一趟。”俄国留学生谢尔盖言辞恭敬,对陈哲说著。 “可以。” 陈哲点了点头,兜里还有著那把枪。 记住我们101看书网 杰姆尼难以置信地看著陈哲,这毫无疑问会是一场霸凌,对方怎么敢应得这么干脆? 只不过,联想到前几天被入室抢劫时陈哲的表现,杰姆尼忽然又觉得自己没有必要提醒对方,那一拳撂倒一个人的力量大概他健身半年也学不来。 …… 公园西边有一片小树林,稀稀拉拉的几棵橡树,叶子早就掉光了,光禿禿的枝丫在阳光下投下交错的影子。林子边缘有一条石子路,平时没什么人走,今天更是安静得只剩风声。 谢尔盖走在左面,步子不快,陈哲走在旁边,手插在口袋里,指尖碰到那冰冷的金属。 林子深处有一张长椅,木头的,漆掉得差不多了,露出灰白色的木质。谢尔盖在长椅边停下来,转过身。 陈哲在他对面两米远的地方站定。 这个距离,如果对方动手,他有足够的时间反应。 但谢尔盖没有动手。 他看著陈哲,那张带著点南斯拉夫人特徵的修长脸上,表情有点复杂。 “你让我刮目相看。”谢尔盖开口,声音比平时低了一点。 陈哲没说话。 谢尔盖往后退了一步,靠在长椅的椅背上,双手抱在胸前。 “我让人查过你。”他说,“伊戈尔,一个搞技术的。我让他开你的盒,把你所有的信息扒出来。” 陈哲的眉头微微动了一下。 “然后呢?” “然后他没办成。”谢尔盖的嘴角扯了扯,不知道是想笑还是什么,“他说你的信息被改过了,清得乾乾净净,什么都查不到。他让我別再碰你。” 陈哲沉默了两秒。 “所以你找我出来,是想亲自动手?” 谢尔盖摇了摇头。 “不是。” 他抬起头,看著陈哲的眼睛。 “我是来道歉的。” 陈哲愣了一下。 谢尔盖从长椅上站直身子,往前走了一步。陈哲的手在口袋里收紧,但他没有继续往前。 “之前那些话,”谢尔盖说,“在教室里说的那些,是我的人嘴贱。还有那个俄国人安东,也是我叫他们那么说的。” 他顿了顿。 “我以为你只是个书呆子。那种被人骂了也不敢还嘴的中国人。”他盯著陈哲,“但你不是。” 陈哲没说话。 谢尔盖忽然笑了一下,不是那种嘲弄的笑,而是有点自嘲。 “我来找你,不是来打架的。”他说,“我是来问你要不要入伙。” 陈哲的眉头皱了起来。 “入伙?” “对。”谢尔盖转过头看著他,“我手里有一帮人,你不是不知道。安东、列夫、还有几个,都是跟著我混的。以前在学校里横著走,没人敢惹。” 他顿了顿。 他站起来,转过身,面对著陈哲。 “你知道这在布鲁克林意味著什么吗?” 陈哲没说话。 “意味著你是惹不起的人。”谢尔盖一字一顿地说,“意味著道上的人会开始传你的名字。意味著以后那些不长眼的傢伙再想动你,得先掂量掂量自己几斤几两。” 他盯著陈哲的眼睛。 “所以我想跟你合作。” 陈哲沉默了几秒。 “合作什么?” 谢尔盖的嘴角勾起一点弧度。 “你一个人再能打,也只有一个人。”他说,“我有十几个人。虽然他们不是什么高手,但人多就有用。你在明处,我们在暗处。有什么事,我的人可以帮你盯著。” 他顿了顿。 “作为交换,你只需要做一件事。” 陈哲看著他。 “什么事?” 谢尔盖往前走了一步,压低了声音。 “如果有人找你麻烦,別一个人扛。告诉我。”他说,“我帮你摆平。” 陈哲盯著他看了几秒。 这个俄罗斯人站在阳光里,金髮被照得有点发白,肩膀很宽,脸上的表情认真得不像是在开玩笑。 他想起那天在教室里,谢尔盖坐在后排,和那几个人一起嘲弄自己。那时候的谢尔盖和现在这个谢尔盖,简直像是两个人。 “你为什么这么做?”他问。 谢尔盖沉默了一秒。 “因为我需要朋友。”他说,声音比刚才低了一点,“不是那种跟在屁股后面叫boss的嘍囉,是真的朋友。” 他顿了顿,目光落在远处。 “我从小就知道,在美国,俄国人不是什么好东西。电影里演的坏人,十个有八个说俄语。学校里的人看见我,第一反应就是『黑帮』。”他苦笑了一下,“所以我就真的成了黑帮。” 他转回头看著陈哲。 他伸出手说,说,“以后有事,直接找我。我的人你隨便用。” 谢尔盖转身往回走,走了几步,又停下来,回头看著陈哲,轻浮的脸上若有所思。 “你就没有想说点什么的吗?”谢尔盖问。 “哦,这倒是有一点想说。” 陈哲到这里仿佛才如梦初醒一般地说出一句话来。 “请说吧。”谢尔盖点头。 “你只不过是一个在社区大学里当混混的一个小头目,”陈哲的话语一瞬间戳中了对方彬彬有礼的表面,谢尔盖的表情陡然变得有一些愤怒狰狞,可是他很快就压制了下去,因为他看到陈哲居然带著一把刀。 一把军用匕首! 看起来口袋里还有什么其他的东西,金属质地的,谢尔盖一瞬间就失神,觉得这不可能,一个只拿了签证的学生怎么可能在美利坚买到枪? “自始至终都把自己摆在高人一等的地位上也太累了,我听著都觉得你装得很累,其实你来找我是想要投靠我,效忠我,却又要装得好像是要我和你合作。” “这样,我交代给你一件事,你去做了再回来找我。”陈哲想了想,给对方了一个任务。 “帮我看看这个地址到底有什么东西。” 陈哲递出一张纸条,上面写著一行字,谢尔盖接过了就愣住了。 东威廉斯堡福斯特街47號,旁边那个停车场? 这是什么地方? 第三十九章 房东太太 谢尔盖走了。 陈哲当然不指望对方能立刻成为自己的小弟,但是把这么一个地址给出来,至少可以提起谢尔盖的好奇心。 有了这份好奇心,倘若这傢伙几天之后死了,那最好,陈哲至少探清楚一条路。 而对方平时在学校里也和自己不对付,几乎衍变成了霸凌,丹尼斯估摸著把谢尔盖也不会与自己联繫上。 “回去之后就可以暂时开始经营日常琐事了。” 陈哲鬆了一口气。 …… 人行道上,杰姆尼仍然对陈哲竟然可以安然无恙地返回感到不敢置信。 “他就这么让你走了?”杰姆尼忍不住问,“没动手?没叫人?没放狠话?” 陈哲没说话,只是继续往前走。 杰姆尼快走两步,绕到他面前,倒退著走,盯著他的脸。 “谢尔盖啊!那帮俄罗斯人的头头啊!上个月把那个印度人打进医院的谢尔盖啊!”他夸张地挥舞著手臂,“你就这么走回来了?” 101看书 101 看书网藏书广,101??????.??????超实用 全手打无错站 陈哲瞥了他一眼。 “你还想我怎么样?” 杰姆尼噎了一下,然后挠了挠头。 “不是,我就是好奇……”他凑近一点,压低声音,“你怎么搞定他的?” 陈哲向来对杰姆尼隱瞒多余的事,只是思虑片刻就开口。 “我有枪。” 杰姆尼的步子顿了一下。 他愣在原地,看著陈哲继续往前走,然后快步追上去。 “枪?”他的声音压得更低了,“哪来的枪?” “那几个混混的。”陈哲说,“那天晚上扔阳台上的那把。后来我捡回来了。” 杰姆尼的表情从震惊变成了困惑,又从困惑变成了某种难以言喻的复杂。 “操。”他憋出一个字。 两个人继续往前走,穿过一条小巷,拐进斯科特街。 街边的涂鸦还是老样子,那堵红砖墙上画著一个巨大的骷髏头,旁边是一行歪歪扭扭的字母,陈哲从来没看懂过。垃圾桶旁边的垃圾袋堆成小山,几只野猫在翻找食物,看见他们走过来,抬起头看了一眼,然后继续低头翻。 杰姆尼走在他旁边,沉默了几秒,然后忽然开口。 “所以他就怂了?” 陈哲想了想。 “算是吧。” 杰姆尼嘖了一声。 “那群小混混的武器居然还能派上用场!”他面露惊嘆,语气里带著一点幸灾乐祸,“不过里面应该没子弹了吧?” 陈哲没说话。 杰姆尼等了两秒,没等到回答,转过头看著他。 陈哲的侧脸在午后的阳光里显得很平静,没什么表情。 杰姆尼的步子又顿了一下。 “等等。”他咽了口唾沫,“你不会……” 陈哲依然没说话。 杰姆尼的表情变了。 他张了张嘴,想说什么,但又咽了回去。他往前走了几步,又回头看了陈哲一眼,然后继续往前走,步伐比刚才快了一点。 “cool。”他最后憋出这个词,声音有点干。 陈哲看著他的背影,嘴角微微动了一下。 他们走到公寓楼下,杰姆尼站在门口等他。等陈哲走近,他忽然问了一句。 “那枪现在在哪?” 陈哲推开楼门,侧身让他进去。 “你猜。” 杰姆尼愣了一下,然后摇了摇头,跟著他走进楼道。 楼道里还是那股熟悉的霉味,混著咖喱和洗衣液的香味。天花板上的日光灯坏了一根,忽明忽暗地闪著,把楼梯切成一段一段的明暗区间。 他们爬上三楼。 那扇门还钉著木板,胶带边缘又翘起来了一点。 “该开始换门了。”陈哲说。 杰姆尼点了点头,工具箱就在屋子里,包括买来的一系列东西。 “你们在捣鼓什么?” 就在这个时候,身后一道中年女妇人的声音传来。 陈哲和杰姆尼同时转过头。 楼道尽头站著一个女人。 五十多岁,个子不高,但站得很直。一头银白色的长髮整齐地盘在脑后,露出额头和那两道描得极细的眉毛。眼睛上画著深蓝色的眼影,浓得有点嚇人,嘴唇涂著暗红色的口红,抿成一条线。 她穿著一件深灰色的大衣,领口翻著,露出里面黑色的高领毛衣。手里拎著一个棕色的皮包,看起来很旧了,但保养得很好,边角都擦得鋥亮。 温蒂。 房东太太。 杰姆尼的表情瞬间僵住了。他张了张嘴,想说什么,但只发出一个含糊的音节。 陈哲的目光从那张浓妆的脸上扫过,落在那扇钉著木板的门上。 温蒂也看见了。 她的眉头皱了起来,似乎有点生气,高跟鞋踩在水泥地面上,发出清脆的声响,一下一下,像在数著什么。 走到门口,她停下来。 目光落在那扇门上。 木板,胶带,刀戳出来的洞,翘起的木屑。还有门框上那道深深的划痕,从锁眼的位置一直拉到门边,像某种野兽留下的爪印。 温蒂沉默了几秒。 然后她转过头,看著陈哲和杰姆尼。 “解释。” 她的声音不高,但很稳,像一块石头扔进水里,没有溅起水花,但波纹会一直扩散到岸边。 杰姆尼张了张嘴。 “呃……温蒂太太……这个……” 他卡住了,显然对於这方面不怎么会应付。 温蒂的目光移到他脸上,没有表情,只是等著。 杰姆尼的额头上开始冒汗。 陈哲思索了一下。 温蒂太太应该看到上面的刀痕了,不过还让他们解释,而不是直接扫地出门,说明事情还有缓和的余地。 “上周三晚上,”他说,“三个人衝进来。持械,有刀,有枪。” 温蒂的眉毛动了一下。 “你受伤了?” “没有。” “他们呢?” “被带走了。”陈哲说,“警察来的。” 温蒂盯著他看了几秒,然后目光又落回那扇门上。 “门是警察弄坏的?” “不是。是他们捅的。” 温蒂点点头。 她又沉默了几秒。 陈哲能感觉到杰姆尼在旁边屏住呼吸。楼道里安静得只剩那根坏掉的日光灯管发出的滋滋声。 “所以你们打算怎么处理?”温蒂问。 “换新的。”陈哲说,“材料已经买了,明天装。” 温蒂的目光在他脸上停了两秒,然后移向杰姆尼。 “你会装门?” 杰姆尼愣了一下,然后摇头。 “不会。” 温蒂又看向陈哲。 “你呢?” “不会。”陈哲说,“但可以学。” 温蒂沉默了几秒。 然后她忽然笑了一下。 “年轻人。”她说,语气比刚才鬆了一点,“你们知道换一扇门要多少钱吗?” “三百五到四百。”陈哲说,“材料加人工。” “人工你们自己出?” “对。” 温蒂点点头。她走到门前,伸出手,用手指按了按那块木板。木板晃了晃,发出吱呀的声响。 “这种门,”她说,“最便宜的三百。但你们买不到。” 杰姆尼愣了一下。 “为什么?” “因为这种门不零售。”温蒂转过身看著他们,“home depot不会卖一扇给你们,至少要买一套。门框、门板、锁具、铰链,整套的。” 杰姆尼的表情又僵住了。 温蒂看著他,嘴角的弧度又大了那么一点点。 “所以你们买的什么?” 陈哲开口:“一扇室內门,复合板的,带门框和五金件。三百二。” 温蒂的眉毛挑了一下。 “你之前说三百五到四百。” “那是连人工算的。”陈哲说,“既然自己装,就只要材料钱。” 温蒂盯著他看了几秒。 然后她笑了。 这次是真的笑,眼角有一点皱纹挤出来,但很快就收回去。 “有点意思。”她说。 她转回身,面对著那扇破门。 沉默了几秒。 “这栋楼我管了二十三年。”她忽然开口,声音比刚才低了一点,“见过的事不少。打架的,吸毒的,欠租跑路的,半夜被警察带走的。但像你们这样的……” 她顿了顿。 “不多。” 杰姆尼不知道该怎么接话,只是站在那里,手足无措。 陈哲也没说话。 温蒂转过身,看著他们。 “门可以换。”她说,“材料你们自己出,人工你们自己干。但有一个条件。” 杰姆尼立刻问:“什么条件?” 温蒂的目光从他们脸上扫过。 “装不好,別找我。”她说,“装坏了,自己赔。再有下次这种事,直接搬走。” 杰姆尼愣了一下,然后猛点头。 “明白明白!谢谢温蒂太太!” 温蒂没理他,目光落在陈哲身上。 陈哲点了点头。 “知道了。” 温蒂看了他两秒,然后转身往楼梯口走。走到拐角处,她忽然停下来,回头看了一眼。 “对了。”她说,“你们这层楼还有一户空著,如果有人搬进来,別嚇著人家。” 她走了。 高跟鞋的声音在楼道里渐渐远去,然后是一楼门被推开又关上的声音。 杰姆尼站在原地,长长地吐出一口气。 “fuck……”他说,“嚇死我了。” 陈哲没说话,只是看著那扇门。 温蒂刚才那几句话,在他的脑海里转了几圈。 这是不是说明这个温蒂太太也是个可以依託的人际关係? 杰姆尼已经推门进去了,在屋里喊他。 “陈!快进来,看看这些工具怎么用!” 陈哲收回目光,跟著走进去。 门在身后关上,走廊里日光灯管滋滋地响。 …… 屋里还是老样子。灰绿色的旧沙发,玻璃茶几,墙上那块水渍比上个月又大了一圈。工具箱敞开著躺在地上,里面塞满了扳手、螺丝刀、锤子、捲尺。旁边堆著几个白色的长条纸盒,上面印著门的图案和一串英文。 进了屋內仿佛天气又变得潮湿了起来,陈哲先把客厅简单打扫了一遍, 杰姆尼蹲在地上,拿著一把螺丝刀在研究。他抬起头,看见陈哲进来,顿时鬆开了手,指著那堆工具。 “你说咱们先拆旧的还是先装新的?” 陈哲走过去,在那堆纸盒旁边蹲下来。 他翻出一个盒子,打开,里面是一扇白色的门板,复合板的,表面压著木纹,拿在手里比想像中轻,他又翻了翻,找到门框、铰链、锁具,还有一小袋螺丝钉。 “先拆旧的。”他说。 杰姆尼点点头,站起来,走到那扇破门前。他盯著那块木板看了几秒,然后伸手推了推。 木板晃了晃,发出吱呀的声响。 “怎么拆?” 陈哲思索片刻,走过去,站在他旁边。 胶带贴了好几层,边缘都翘起来了。他用手指抠了抠,撕下来一条,然后是第二条,第三条。 杰姆尼在旁边看著,忽然开口: “那帮人还会来吗?” 陈哲有点无语。 “你说呢?” 陈哲自认为自己已经和对方解释了很多遍了,但是似乎玩乐队的都有点阴湿,敏感於这些有的没的事情。 他把最后一条胶带撕下来,扔在地上。木板失去固定,晃了晃,往一边倾斜。 他伸手扶住,把它从门框上挪开。 门框露出来。 那几个刀戳出来的洞还在,边缘的木屑翘著,露出里面发白的木头纤维。门锁的位置被整个剜掉了一块,留下一个不规则的窟窿,能直接看见屋里。 杰姆尼看著那扇门框,忽然骂了一句。 “干。” 陈哲没说话。他把木板靠在墙上,然后从工具箱里拿出锤子和撬棍。 “来帮忙。” 杰姆尼走过去,接过撬棍。他把撬棍的扁头插进门框和墙之间的缝隙里,用力往下压。 门框发出一声刺耳的吱呀声,然后微微鬆动了一点。 “再用力。” 杰姆尼咬了咬牙,整个人往下压。撬棍又陷进去一点,门框的缝隙越来越大。 陈哲拿著锤子,在旁边等著。等缝隙大到能伸进手指的时候,他把锤子放下,用手抓住门框的边缘,往外拉。 咔嚓一声。 门框从墙上脱落下来,带下来几块碎墙皮和一片白色的灰尘。 杰姆尼被呛得咳嗽了几声,往后退了一步。 “陈,这灰……” 陈哲没管他。他把那扇破门框拖到一边,扔在墙角,然后回过头,看著墙上那个空荡荡的洞口。 洞口边缘参差不齐,露出里面的砖和木龙骨。有几块墙皮已经掉光了,剩下灰白色的水泥。空气里飘著一股霉味,比平时更浓了一点。 杰姆尼走过来,站在他旁边,也看著那个洞口。 “这墙……没事吧?” 陈哲蹲下去,用手指敲了敲那几块砖。砖很硬,没松。 “没事。” 杰姆尼鬆了一口气。 陈哲站起来,走回那堆纸盒旁边,开始拆新门框的包装。 杰姆尼在旁边看著,忽然问:“你知道怎么装吗?” “不知道。” 杰姆尼愣了一下。 “那你怎么……” “现学。”陈哲把那扇新门框从盒子里拿出来,“你不是说youtube上有教程吗?” 第四十章 误闯天家 “有理,不过油管最近app端废了,只能看网页端,我也没电脑,”杰姆尼盘算著,“你说说看怎么办吧。” “我拿电脑就行了。” 陈哲大方地把电脑从背包里拿出,放在地板上,隨后扭头看向杰姆尼。 “咦,你有油管的软体?”杰姆尼一怔。 “你不是说移动端废了么?还问这个干什么。” 陈哲摆了摆手,示意让对方不必拘谨。 杰姆尼顿时不再犹豫,杰姆尼蹲在电脑前,手指在触控板上划了几下。 “youtube……网页版……安装门框教程……”他一边嘟囔一边打字,屏幕上跳出一排搜索结果。 陈哲站在旁边,拿著新门框的说明书在研究。 “这个说要用水平仪,”陈哲皱著眉头,“你有吗?” “没有。”杰姆尼头也不回,“用手机凑合吧,下个水平仪app就行。” 陈哲点点头,继续看说明书。 杰姆尼点开一个视频,看了几秒,觉得不对,关掉,又点开一个,还是不对,他嘖了一声,隨便点了点。 陈哲用余光瞥著杰姆尼,光从这点就知道得很清楚,有些事情说说和实际行动上比较起来是有区別的,想找到一个较为方便快捷的教学视频,在这种国际网站上显然不好找。 陈哲很快就把目光收了回去,继续读自己的说明书。 然后杰姆尼的手指停住了。 屏幕上显示的是一个频道主页,头像是一个简洁的代码符號,背景是深蓝色的。“哲思”频道名下面,跟著一串数字。 订阅者:10,472。 杰姆尼的目光扫过那个头像,扫过频道名,然后落在那串数字上。 一万? 他愣了一下,刚想划过去,忽然发现这是网页版用户自己登录的帐號! 他的手指停在触控板上,没动。 陈哲还在看说明书。 杰姆尼又转回头,盯著屏幕。他点进那个频道,往下滑了滑。视频列表很长,从一个月前开始,一期一期往上排。 第一期:《python入门教程#01:从零开始的第一行代码》 播放量:4.3万。 第二期:《python入门教程#02:变量和数据类型》 播放量:3.8万。 第三期:《python入门教程#03:条件判断和循环》 播放量:4.1万。 …… 第六期:《python入门教程#06:文件操作和异常处理》 播放量:5.2万。 杰姆尼的目光落在那期视频的封面上。封面上写著“文件操作”,下面是一行小字,角落里有一个小小的头像——就是刚才那个“c”。 他的手指继续往下滑。 第七期,第八期,第九期……一直到第十八期。 播放量最少的也有两万多。 杰姆尼沉默了。 他抬起头,看向陈哲。 陈哲还站在那儿,一手拿著门框,一手拿著说明书,眉头微微皱著,像是被某个步骤卡住了。 “陈。”杰姆尼开口。 陈哲抬起头。 “怎么?” 杰姆尼盯著他看了几秒,然后指了指屏幕。 “这是你?” 陈哲的目光落在屏幕上,愣了一下。 然后他走过去,蹲下来,看了一眼。 频道主页,一万零四百七十二个订阅者。 “哦。”他说,“是我。” 杰姆尼的嘴张了张,又闭上,又张了张。 “一万?”他的声音有点尖,“你有一万粉丝?” “一万零四百。”陈哲纠正他。 杰姆尼站起来,在原地转了一圈,又蹲下去,盯著屏幕。 “你……”他说,“你他妈是youtuber?” “算是吧。”陈哲把说明书放下,“刚做了一个月。” 杰姆尼盯著他,眼神复杂得像在看一个外星人。 “一个月?”他的声音还是有点尖,“一个月一万粉丝?” 陈哲想了想。 “今天刚涨的。”他说,“不久前还只有八千。” “八千?”杰姆尼的声音更尖了,“八千还少?” 陈哲没说话。 杰姆尼又盯著屏幕看了一会儿,然后往后一屁股坐在地上。 “我服了。”他说,“我真服了。” “你笑什么?”杰姆尼看著陈哲:“你小子是不是偷偷爽到了?” “没有,我受过专业的训练,不是迫不得已的情况,不会笑。” “你一直在笑,根本就没停过!”杰姆尼一脸气愤:“坏了,真让这小子装到了!” …… 不久,杰姆尼方才找到一个diy装修的视频,封面是一扇白色的门,標题写著“how to install a prehung door”,点了播放。 视频开始了,一个穿著工装的白人男性站在一扇门旁边,手里拿著捲尺,语速很快地讲著什么。 陈哲一边看,一边把那扇新门框立起来,对照著视频里的步骤。 测量。找平。塞木楔。钉钉子。 他看完一遍,然后把手机还给杰姆尼。 “你来打下手。” 杰姆尼点点头,从工具箱里翻出捲尺和水平仪。 两个人开始干活。 把新门框塞进那个洞里的第一步就遇到了问题。门框比洞口宽了那么一点点,塞不进去。 杰姆尼拿著捲尺量了半天,最后发现是原来的门框拆掉的时候带下来太多墙皮,洞口反而变小了。 “怎么办?” 陈哲盯著那个洞口看了几秒,然后从工具箱里拿出凿子和锤子。 “凿开一点。” 他蹲下去,把凿子抵在洞口边缘的水泥上,一锤一锤敲下去。水泥碎屑溅起来,落在他手上,有点疼,他没停。 杰姆尼在旁边举著手电筒照著。 敲了十几分钟,洞口终於宽了一点。陈哲把门框塞进去试了试,能进去了,但还差一点。 他又敲了十分钟。 这一次,门框终於严丝合缝地卡进去了。 陈哲站起来,活动了一下发酸的手腕。 杰姆尼赶紧递过来手机。 陈哲把水平仪放在门框顶上,看了看气泡。 偏了。 他拿起木槌,轻轻敲了几下门框的一侧,然后再看水平仪。 还偏。 再敲。 再偏。 杰姆尼在旁边看著,忽然开口:“是不是墙本身就不平?” 陈哲愣了一下,然后拿起捲尺,量了量门框两边到墙的距离。 果然不一样。 他想了想,从工具箱里翻出几片木楔,塞进门框和墙之间的缝隙里。 敲进去,再看水平仪。 气泡终於居中了。 杰姆尼鬆了口气。 “接下来呢?” 陈哲看著视频回放:“塞木楔,然后钉钉子。” 他们开始往门框和墙之间的缝隙里塞木楔。一个,两个,三个……每塞一个,就用锤子敲紧,然后检查水平仪。 忙活了半小时,木楔终於塞满了。 接下来是钉钉子。 陈哲拿起射钉枪,对著视频里的示范,对准门框上的金属片,扣动扳机。 砰。 钉子打进去了,门框纹丝没动。 “没想到我竟然有一个网络红人兄弟。”杰姆尼还沉浸在刚才的震撼之中。 陈哲没理他,继续钉下一颗。 砰。砰。砰。 一颗接一颗,钉子打进墙里,门框越来越稳。 钉完最后一颗,陈哲站起来,活动了一下肩膀。 杰姆尼凑过来,看了看门框,又看了看墙上那些崭新的钉眼,点了点头。 “好像……还行?” 陈哲没说话。他把那扇新门板从盒子里搬出来,立起来,对准门框上的铰链槽。 往上一抬。 铰链卡进去了。 门板稳稳地掛在门框上。 杰姆尼在旁边瞪大了眼睛。 “这,成了?” 陈哲推了推门。门扇轻轻晃动,发出吱呀的声响,和以前那扇门不一样,这声响听起来很新,很脆。 他关上,打开,关上,打开。 严丝合缝。 杰姆尼凑过来,也推了推门,然后咧嘴笑了。 “真的成了。” 陈哲没说话。他蹲下去,开始装门锁。锁芯塞进去,螺丝拧紧,把手套上去,对准卡槽,一推。 咔噠。 锁上了。 他拧开,再锁上,再拧开。 到这里总算是了结了一桩事。 第四十一章 兔死狐悲 门装好的时候,窗外的天已经黑透了。 杰姆尼站在门口,推了推那扇崭新的白色门板,又拉开,又推上,反覆了好几次,脸上的表情从兴奋变成了满意,又从满意变成了某种不真实感。 “真成了。”他说,“咱们两个真把这门装好了。” 陈哲蹲在地上收拾工具,把螺丝刀、锤子、射钉枪一件一件放回工具箱里。 “別玩了。”他头也不抬,“把垃圾收一下。” 杰姆尼哦了一声,开始把地上那些撕下来的胶带、碎木屑、包装纸捡起来,扔进一个黑色的大垃圾袋里。 收拾完,杰姆尼把那袋垃圾放在门口,然后走进屋里,往沙发上一躺,长长地出了一口气。 “累死了。”他说,“比我排练一晚上还累。” 陈哲没理他。他把工具箱合上,推到墙角,然后站起来,活动了一下发酸的肩膀。 杰姆尼躺在沙发上,目光跟著他移动。 “陈。”他忽然开口。 陈哲转过头。 “怎么?” 杰姆尼盯著他看了几秒,然后摇了摇头。 “没什么。”他说,“就是觉得你这人挺神的。” 101看书 101 看书网解闷好,?0???????.??????隨时看 全手打无错站 陈哲没说话。 杰姆尼继续说:“会编程,能打架,有枪,还他妈是youtuber。”他掰著手指一个一个数,“你到底还有多少事是我不知道的?” 陈哲想了想。 “没了。” 杰姆尼愣了一下,然后笑了。 “行。”他说,“你不说拉倒。” 他从沙发上坐起来,开始做伏地挺身。一个,两个,三个……一边做一边数,数到二十的时候,声音开始发颤,但他没停。 陈哲看了他一眼,没说话,转身往自己房间走。 身后传来杰姆尼的计数声,夹杂著粗重的喘息。 …… 房间不大,一张床,一张桌子,一把椅子。床单是灰色的,洗得有点发白,边角磨出了毛边。桌上放著那台二手thinkpad,屏幕暗著,电源灯一闪一闪。 陈哲在椅子上坐下,打开电脑。 屏幕亮起来的时候,他习惯性地先看了一眼右下角。模擬器的图標还在,灰色的,上面写著“模擬次数恢復中”。 他把目光移开,打开瀏览器,登录youtube。 频道主页刷新出来。 订阅数:10,582。 又涨了一百多。 他点进后台,看了一眼这几天的数据。播放量最高的还是第六期,已经五万五了。其他几期也都在缓慢增长,评论区里多了不少新面孔,有些人留了长长的感谢,有些人只是简单说了一句“讲得清楚”。 然后他点开那个私信图標。 未读消息:47条。 他一条一条往下翻。大部分是粉丝留言,问他下一期什么时候更新,问某个知识点能不能再讲细一点,问他接不接付费諮询。 还有几条是gg,推销各种乱七八糟的东西,本来如果是商单的话陈哲倒是可以考虑一下让对方出个镜,可惜这些人就是纯粹来自己这里骚扰的,这也就让陈哲很没兴致。 翻到第31条的时候,他停住了。 发件人:码农日记。 本! 內容很简单。 【你的频道我看了几天,做得不错。第六期那个文件操作讲得挺好,比很多老油条都清楚。继续加油。对了,推荐那事儿不用放心上,我看好你才推的,不是为了让你谢我。如果有空,下周末来我这儿坐坐,聊聊。】 陈哲盯著那条消息看了几秒。 本。 那个在pier 57见过的群主,那个穿著洗得发白的蓝色卫衣、扎著小揪揪的男人,那个在屋顶公园让所有人设计短连结服务的人。 他想了想,开始打字。 【谢谢推荐。这几天粉丝涨了很多,帮大忙了。下周末可以,地址发我就行。】 发送。 他靠在椅背上,盯著屏幕。 付费视频的事,是该做了。 但是本刚推荐了他,如果他现在就推出付费內容,很容易让人觉得他是在趁机割韭菜,就算內容质量过关,也难免有人会说閒话,更何况他需要保持自己的风格。 本的频道叫“码农日记”,讲后端、讲资料库、讲系统设计,风格偏硬核,適合有一定基础的程式设计师。 他的频道叫“哲思”,讲python入门,从零开始,一步一步往上爬。两个频道受眾有重叠,但不完全一样。 如果他现在就推出付费视频,讲那些高端技巧,估摸著会让人觉得他在蹭本的流量,让人觉得他想走捷径。 陈哲想了想,打开另外一个已经写了很久的付费视频文案。 標题:《从零到一:python项目实战指南》 內容方面倒也没有什么高深的。 搭一个简单的web服务,用flask写api,连资料库,部署上线。 不是什么高深的东西,但足够一个新手跟著做一遍,做出一个能跑起来的项目。 之前他讲的是基础知识,现在这玩意儿就是实战应用了,从这里先入手, 定价:2.99美元。 他盯著那个数字看了很久。 2.99,不算贵,但也不算便宜。如果有人愿意买,说明真的认可这些內容。 陈哲还是需要有人买的。 一方面需要钱,另一方面为了证明这条路走得通,付费的数据比免费数据的视频容易辨別一些。 私信提示音响起。 他点开,是本的回覆,这老傢伙居然罕见得秒回。 【周六下午三点,布鲁克林绿点区,地址发你了。来了直接上楼,门没锁。】 陈哲看了一眼那个地址。 布鲁克林的绿点区…… 离他不远,也就地铁半小时的功夫。 他回了一个字。 【好。】 然后他关掉私信,打开那个付费视频的编辑页面。 视频已经剪好了,一共四期,每期十五到二十分钟,总时长一个多小时。他检查了一遍,確认没有技术错误,然后把它们上传到后台,设为定时发布。 发布时间是明天上午九点,到时候本的推荐热度应该已经过去了一点,但也不会完全消失,那时候推出付费视频,倒也不失为一个时机。 陈哲站起来,走到窗边,往外看了一眼。 再过两天,自己得去一趟绿点区。 …… 东威廉斯堡福斯特街47號。 地下车库。 “希望您能够理解!我真的是无意之间闯进来的,没有受到任何人的指使,我就没想到这里会有你们这帮人!” 谢尔盖被绑在椅子上,蓝色的抹布上遍布著黄色的斑点,绑在他的眼睛上。 阴影里传来声音。 “当真?” “真的,我什么都没看到,我发誓。” “ok,well……我的手下会把你的眼罩摘掉,並且送你回去,但是在离开车库之前,如果你回头看一眼,就会死。” “我知道了……” 一阵褪下眼布的声音。 第四十二章 谎言 长岛商学院的运动会没有掀起什么风波,因为学校本身不是很正规,所以就连项目都是非必要填报的。 仅仅留给一些平时有锻炼的学生展示自己,或者纯属就是趁著这个机会出来逛逛。 毕竟是社区大学,老实学生不多,怎么可能听从学校方面的命令? 陈哲想想也是。 周五早晨天气晴朗,学生穿行在走廊之中,有人挎著斜袋,穿帆布鞋掷地有声,也有人低著头不话一言,耳机里不知放著什么摇滚音乐。 陈哲閒庭走廊,漆黑天花板上的日光灯还是老样子,几根坏的,忽明忽暗地闪著。他走到教室门口,推门进去。 教室里人不多,稀稀拉拉坐著十几个学生,后排那几个熟悉的面孔还在,安东、列夫,还有几个叫不上名字的各色人种,凑在一起低声说著什么,谢尔盖则是坐在他们中间。 谢尔盖看见陈哲进来,目光扫过来一眼,若无其事地移开,继续和旁边的人说话。 陈哲在他对面的座位上坐下,把背包放在桌上。 他的目光不动声色地扫过谢尔盖。 谢尔盖依旧安然坐著,说话的时候手势还是那么夸张,和平时没有任何区別。 陈哲盯著他看了几秒。 谢尔盖似乎感觉到了什么,转过头,和他的目光碰了一下,笑了笑,点了点头,算是打了个招呼。 陈哲点了点头,收回目光。 上课铃响了。特尔教授走进来,腋下夹著那本翻旧了的教材,手里端著那杯永远喝不完的咖啡。他走到讲台上,把教材放下,目光扫过教室,清了清嗓子。 “今天我们讲供应链管理中的库存优化……” 陈哲翻开笔记本,开始记笔记。 不过他的余光一直落在后排。 谢尔盖低著头,也在记笔记。旁边的安东凑过去跟他说了句什么,他抬起头,笑了笑,然后继续低头写字。 一堂课下来,什么事都没发生。 下课铃响,谢尔盖站起来,和那几个俄罗斯人一起往门口走。经过陈哲身边的时候,他停了一下。 “陈。”他说。 陈哲抬起头。 谢尔盖看著他,脸上没什么表情。 “昨天那个地址,”他说,“我没去。” 陈哲没说话。 谢尔盖盯著他看了几秒,嘆了一口气,拍了拍他的肩膀,转身走了。 陈哲坐在座位上,看著他的背影消失在门口。 没去? 陈哲把笔记本合上,塞进背包里,站起来往外走。 走廊里人来人往,有人抱著书匆匆走过,有人靠在墙边聊天,有人在自动售货机前投幣买饮料。陈哲穿过人群,走到楼梯口,下了楼。 阳光照在脸上,有点刺眼。 他站在楼门口,抬头看了一眼天空。 算了。 …… 下午三点,陈哲回到斯科特街173號。 公寓楼还是老样子,红砖墙上的涂鸦又多了几笔,垃圾桶旁边的垃圾袋堆得比昨天更高了一点。他推开楼门,爬上三楼。 楼梯间里瀰漫著那股熟悉的霉味,混著咖喱和洗衣液的香味。那根坏掉的日光灯管还在闪,滋滋地响。 他走到三楼,掏出钥匙,刚要开门,忽然停住了。 温蒂太太站在门口。 她穿著一件深灰色的大衣,领口翻著,露出里面黑色的高领毛衣。银白色的长髮整齐地盘在脑后,深蓝色的眼影画得比昨天还浓了一点。 她正盯著那扇新装的门。 陈哲走过去,在她旁边站定。 温蒂转过头,看了他一眼,然后又把目光移回门上。 “你们装的?” “对。” 温蒂没说话。她往前走了两步,伸出手,用手指按了按门板。门板纹丝没动。她又推了推,门扇轻轻晃动,发出吱呀的声响。 然后她蹲下去,看了看门框和墙之间的缝隙。 陈哲站在旁边,等著。 温蒂站起来,拍了拍手上的灰,转过身看著他。 “水平仪用了?” “用了。” “木楔塞了?” “塞了。” “钉子打了几颗?” 陈哲想了想。 “每边六颗。” 温蒂的眉毛挑了一下。 她盯著陈哲看了几秒,然后忽然笑了。 不是昨天那种淡淡的、公式化的笑,是真的笑,眼角挤出几道皱纹,连那两道描得极细的眉毛都跟著动了动。 “有点意思。”她说。 陈哲没说话。 温蒂又转回头,盯著那扇门看了几秒。 “我在这个区住了三十多年,”她忽然开口,声音比平时低了一点,“见过的租客不少。有人把墙砸了,有人把水管弄爆了,有人半夜带人回来打架,把门踹烂了就跑。” 她顿了顿。 “但像你们这样的……”她转过头看著陈哲,“自己掏钱买材料,自己动手装,还装得像个样子。不多。” 陈哲沉默了两秒。 “应该的。”他说。 温蒂盯著他看了几秒,然后点点头。 “行。”她说,“这关过了。” 她转身往楼梯口走,走了几步,又停下来,回头看著他。 “房租下周一交。” 陈哲点头。 “知道。” 温蒂又看了他一眼,然后继续往下走。高跟鞋的声音在楼道里渐渐远去,然后是一楼门被推开又关上的声音。 陈哲站在门口,看著那扇门。 过了几秒,他掏出钥匙,打开门锁,推门进去。 屋里,杰姆尼正蹲在地上,对著那堆工具发呆。听见门响,他抬起头。 “谁?” “房东太太。” 杰姆尼的表情瞬间僵住了。 “她说什么了?” 陈哲把背包扔在沙发上。 “说门装得好。” 杰姆尼愣了一下。 “就这?” “就这。” 杰姆尼盯著他看了几秒,然后长长地吐出一口气。 “好吧。”杰姆尼说,“嚇死我了。” 陈哲没理他,走到窗边,往外看了一眼,天开始变暗,布鲁克林的傍晚总是来得很快,太阳一落到那排红砖楼后面,整个街区就笼罩在一片灰蓝色的阴影里,对於这种小巷子里的公寓来说就更快了。 陈哲当然不会相信谢尔盖的谎话,对方虽然偽装得很好,但是从对方主动找自己搭话那会儿不自然的表现,就已经把他出卖了。 第四十三章 探寻互助会 半晌,客厅里又传来杰姆尼锻炼的声音。 陈哲也顺理成章进了房间,进去的时候还不忘感慨杰姆尼的执著。 “看样子人还是需要毒打之后才会成长……” 陈哲暗暗心想。 自从上一次杰姆尼在乐队里下台被打,甚至还被一路追杀到住址这块,对方就一直在发奋图强地健身。 新人总是有一点膨胀期的,这几天杰姆尼的肌肉大概也在网上的专业囚徒健身教程之下变得结实了不少,这源源不断的正反馈疑似是让其直接爱上了锻炼。 陈哲现在虽然有著cqc格斗技的底子,杰姆尼不练个两三个月甚至半年的功夫,在实战上还是没法和他打,但是陈哲显而易见不是那种会对弱者抽刀的人。 “等模擬结束,就开始锻炼吧。” 陈哲打开电脑,看著界面上的人生重开模擬器,若有所思。 模擬次数再次刷新。 【模擬次数:1】 【欢迎使用人生重开模擬器!】 【点击此隨机你的身份】 陈哲本来有想过试著把模擬器的次数存起来,到时候一併模擬,该得到的技能显然也不会少,只是现在情况紧急,为了避免这几天里又出现什么意外,还是先用为敬。 晚上的付费视频已经定时发布,趁著这点消磨时间的功夫,模擬完毕之后也可以初步看一看数据。 想到这里,陈哲不再犹豫,佩戴好技能,开始了这一次的模擬。 【你携带了计算机技术lv2和献血经验lv2】 【你是一名it行业“被辞职”的程式设计师……不过好就好在,你重新找回了自己的工作,並且每个月能获得1900刀的工资,这让你始终有一个好心情。行动点+10。】 【第二年的十月份,纽约的秋天比往年更冷了一些。你站在公司楼下,看著那栋不起眼的办公楼,心想自己居然已经在这里干了三个月。】 【这个月里,你的生活渐渐稳定下来。每周五天上班,写代码,开会,写代码,下班。】 【由於你没有和信用修復公司扯上关係,所以显然也没有遭到毒手的机会,但是相应的,你也不知道那一家信用修復公司的名字。】 【当前面板】 【行动点:110,生命值:98,信用值:527,存款:$9852】 “这个月居然有110点行动点吗?” 陈哲立刻进入状態,並且意识到,开始拥有稳定工作之后,模擬对象的行动点数居然会增加! 不过这也在陈哲的意料之中,一个人的精神生活越安定,能做的事情就越多,不论模擬器还是现实之中都是这个道理。 陈哲思索片刻,也就有了主意。 他看向了程式设计师的一栏。 在这个月里,他能做的事情又增多了几条。 【温故而知新:“看著自己三个月前写的代码,你恨不得抽自己两巴掌”(消耗40行动点)】 【学习新技术栈:“go还是rust?这是个问题”(消耗35行动点)】 【技术博客:“记录踩过的坑,万一有人看呢”(消耗20行动点)】 【带新人:“公司新来了个实习生,mentor的任务落在了你头上”(消耗50行动点,信用值+20)】 【申请晋升:“你觉得你行了”(消耗30行动点)】 似乎是由於在公司里面安定下来的缘故,陈哲发现这程式设计师方面的东西越来越趋近於职业化。 “这个带新人和申请晋升,都可以圈一下重点。” 陈哲点了点头,带新人一方面能增长计算机技术,另一方面可以提升信用值,是比较少见的一石二鸟类抉择。 现实里这样的机会不多,但是在模擬器里面,这东西可是货真价实的选项,没有不选择的义务。 至於申请晋升,这个想必不用多说,事关工资。 他首先点击了一下带新人,再点了一下申请晋升,文字立刻在眼前一行行浮现。 【行动点-50】 【公司新来了个实习生,印度人,叫阿卡什,刚从纽约大学毕业,眼神里带著那种刚出校园的茫然和 eager。hr把他带到你工位旁边,说“这三个月你带他”。】 【你盯著那张年轻的脸看了两秒,心想自己三个月前好像也是这个样子。】 【第一天,你教他怎么搭开发环境。他装python装了半小时,装错了版本。你没骂他,只是默默帮他卸了重装。他一直在说sorry,你说没事,我当年也这样。】 【第二天,你给他分了一个简单的bug fix。他写了一下午,提交的代码里有三处语法错误,两处逻辑错误。你把他叫过来,一行一行给他讲哪里错了,为什么错,怎么改才对。他一直在点头,眼神里的茫然少了一点,多了点什么別的。】 【第三天,他开始主动问问题了。不是那种“这个怎么装”的问题,是“为什么这里要用缓存而不是直接查资料库”的问题。你愣了一下,然后开始给他讲。讲了半个小时,他听懂了,你发现自己也捋清了一些之前没想明白的东西。】 【半个月后,他已经能独立改一些简单的bug了。你重新检查他的代码,发现质量比刚来的时候好了很多。他看见你点头,笑了一下,说“谢谢 mentor”。信用值+20。】 【(行动点-30)自认为带新人成功之后,你鼓起勇气,给老板发了一封邮件,標题是“关於晋升的申请”。】 【发完邮件的那一瞬间,你后悔了。你想撤回,但 outlook说“已读”。你盯著屏幕上的“已读”两个字,脑子里一片空白。】 【三分钟后,老板回了一行字:“明天下午三点,来我办公室聊聊。”】 【你盯著那行字看了很久,心跳得厉害。】 【第二天下午三点,你站在老板办公室门口,深吸一口气,敲了敲门。】 【老板是个四十多岁的白人,头髮有点禿,说话声音不大,但每句话都切中要害。他让你坐下,然后开门见山:“你觉得你凭什么晋升?”】 【你愣了一下,然后开始说。你说你这三个月做了什么项目,解决了什么问题,写了多少代码,带实习生带了多久。你说的时候声音有点抖,但越说越稳。】 【老板听完,沉默了几秒。】 【然后他点了点头。】 【“行。”他说,“下个月开始,title改一下,工资加15%。继续好好干。”】 【你走出办公室的时候,整个人都是飘的。你站在走廊里,盯著天花板上的日光灯,心想:这就成了?】 【当前面板】 【行动点:30,生命值:98,信用值:577,存款:$9852】 陈哲盯著屏幕,手指微微发紧。 晋升了。 工资涨了,原本$1900加上百分之十五,应该能提到$2185的级別! 除此之外,便是信用值涨了,即將逼近六百大关。 “要知道,只要有300信用值就能活下来。” 陈哲长舒一口气。 他想了想,剩下的30点行动点还能干点什么。 对了。 陈哲眸光微微闪烁,他已经知道互助会的存在,那么这次去献血站再找一遍玛丽亚,直接曝光,情况会不会有些改变? 第四十四章 沉没成本 念及至此,陈哲有了把握,翻回去点了一下社区献血。 伴隨著他的操作下达,一行行文字也就在空白的界面上跳出。 【(行动点-20)你再次来到城北那个献血站,现在你知道它的名字叫作上东区献血中心分站。推开门的时候,那个中年护士正在整理器械,听见脚步声抬起头,看见是你,愣了一下。】 【“你又来了?”她问。】 【“对。”你点点头,在躺椅上坐下。】 【她盯著你看了几秒,然后嘆了口气,开始准备针头。】 【“你看起来比之前精神多了。”她说。】 【“换了工作。”你说,“稳定了。”】 【她没再说话。血袋一点一点满起来,你盯著天花板上的日光灯,忽然开口:“玛丽亚,互助会。”】 【听到这句话,护士那一张苍老的脸上顿时一愣。】 【她的手停在半空中,针头还攥在手里,目光落在你脸上,像是在確认什么。】 【“谁告诉你这个词的?”她的声音比刚才低了一点,带著一种说不清的警惕。】 【你躺在躺椅上,血还在往外流,滴答滴答地落进血袋里。】 【“查的。”你玩世不恭地说。】 【玛丽亚盯著你看了几秒,然后把针头放下,走到门边,把门关上。】 【转回身,她靠在门板上,看著你。】 【“你知道这个词意味著什么吗?”】 【“可以知道,也可以不知道,取决於你。”你说,“除非你在这里把我杀了,否则这个秘密应该会泄露出去的。”】 【玛丽亚沉默了几秒。】 【然后她走过来,在你旁边坐下,声音压得很低。】 【“互助会不是一个组织。”她说,“是一种……默契。在这座城市里,有些事不是你一个人能扛的。互助会就是让那些扛不住的人,有个地方可以靠一靠。”】 【“你之前说,献血站的老板是家公司。”你对这个回答並不满意:“那公司和互助会是什么关係?”】 【玛丽亚看了你一眼,没有直接回答。】 【“你问得太多了。”她站起来,走到窗边,背对著你,“血抽完就走吧。”】 【你从躺椅上坐起来,按著棉球,盯著她的背影。】 【“玛丽亚。”你说。】 【她没回头。】 【“我会再来的。”】 【她依然没说话。】 【你推开门,走了出去。】 【身后传来门关上的声音。生命值-5,+$880。】 【当前面板】 【行动点:10,生命值:93,信用值:577,存款:$10732】 “居然没有打听到这个互助会具体是什么东西?” 陈哲有点牙酸,望著自己仅剩下十点的行动点,忽然有了种把行动点打了水漂的感觉。 在前期,献血的钱確实可以用来救济难关,从陈哲之前的经验里来看,它也无愧被称之为穷人的atm机。 只是现在陈哲的模擬对象儼然有了一份尚算体面的工作,儘管还是底层人,但是为了献血这种事情消耗20行动点已经不知不觉间变成“亏大了”的选择,从中也可以窥见一点不同阶级的人的眼界。 “最后的十点行动点用一下按时还款吧。” 陈哲规划好了最后十点信用值的用法。 【(行动点-10)你打开信用卡帐单,把最低还款额还了。其实这个月工资刚到帐,你可以全额还,但你算了算,下个月还要交房租,还是留点现金在手上比较稳妥。利息就利息吧,反正不多。信用值+30,-$300】 【当前面板】 【行动点:0,生命值:93,信用值:607,存款:$10432】 【是否结束本月?】 陈哲盯著那个607的信用值看了两秒,到这里也算是正式把信用凹到了六百分以上,点了“结束本月”。 【本月已结束。】 【这是你第一次加工资,也是第一次拿到加工资的发薪。你站在公司楼下的atm机前,把刚发的工资卡插进去。屏幕上的数字跳了跳,变成了$2185。比上个月多了两百多。】 【你盯著那个数字看了几秒,然后拔出卡,转身往回走。】 【走到公司门口的时候,你忽然停下来,回头看了一眼那台atm机。屏幕已经黑了,只有一排小字在闪:“请取回您的卡片。”】 【你忽然想起三个月前,你第一次拿到工资的时候,站在这里抬头看那栋楼,心想“原来这就是上班的感觉”。现在你再站在这里,感觉好像没什么不一样,又好像什么都变了。】 【你摇了摇头,推门进去。+$2185。】 【第2年的十一月开始。】 【受到加工资的影响,你吃苦耐劳的精神越发彰著,这对你的精神有不错的改善。除此之外,並没有什么特別的挫折降临在你的身边。你不由感到庆幸,另一方面也感慨自己之前受的苦太多了。行动点+10,生命值+10。】 【行动点:110,生命值:103,信用值:607,存款:$12917】 【请选择你在这个月內的事件,或者直接结束本月。】 “生命值也增加了!” 陈哲眉头一挑,这倒是意料之外的收穫,如果能够一直这么维持下去,只怕自己患病的机率也会大幅度降低! 望著这个月又重新刷新的110行动点。 陈哲思来想去,目光又聚焦在了献血上。 “也不知道这算不算沉没成本。” 陈哲心中无声地喃喃自语。 所谓沉没成本,是一个经济学和商业决策中的术语,指已经发生且无法收回的成本,如时间、金钱、精力。 它与未来决策无关,但人们常因不甘心而继续投入,这就是沉没成本谬误。 比方说等了一个小时车还没来。这时沉没成本是已经花费的一个小时,如果选择继续傻等,可能会再浪费一个小时,如果果断打车,虽然浪费了一个小时,奈何保住了接下来的时间,分析起来是值得的。 不论从哪个角度来分析,继续等下来的人可能都很蠢, 儘管知道这有点沉没成本的意思,但陈哲还是义无反顾地把行动点用在了该用的地方。 下定决心之后,陈哲移动触控板的红点,点击了一下献血。 第四十五章 三顾茅庐 【(行动点-20)你又去了献血站。】 【推开门的时候,玛丽亚正在前台整理表格。她抬起头,看见是你,眉头皱了一下,但什么都没说。】 【你在躺椅上坐下,挽起袖子。】 【她走过来,开始准备针头。动作比上次生硬了一点,像是故意的。】 【“你又来。”她说,语气里没什么情绪。】 【“对。”】 【她没再说话。针头扎进去的时候,你盯著天花板上的日光灯,忽然开口:“玛丽亚,互助会到底是怎么回事?”】 【她的手顿了一下,然后继续。】 【“上次说过了。”她的声音很平,“不是什么组织,只是一种默契。”】 【“默契什么?”】 【她没回答。】 【血袋满了。她拔出针头,把棉球按在你手臂上,然后站起来。】 【“走吧。”】 【你盯著她的背影,知道今天又问不出什么了。生命值-5,+$880。】 【当前面板】 【行动点:90,生命值:98,信用值:607,存款:$13797】 【是否结束本月?】 …… 【(行动点-90)你按时还款、学习编程技术、还热衷於与上司打交道。】 【行动点:0,生命值:98,信用值:622,存款:$15982】 “结束。” 【本月已结束。】 【第2年的十二月开始。月初无事发生。行动点:110,生命值:98,信用值:622,存款:$15982】 陈哲盯著屏幕,沉默了几秒。 他想了想,又点了一次献血。 【(行动点-20)你推开献血站的门。】 【玛丽亚抬起头,看见是你,嘆了口气。】 【“又是你。”】 【你点点头,在躺椅上坐下。】 【她走过来,开始准备针头。动作比上次更生硬了,像是带著一点不耐烦。】 【“你每周都来。”她说,“你到底想干什么?”】 【“想知道互助会是什么。”你答得很直接。】 【她盯著你看了几秒,然后摇了摇头。】 【“你这个人……”她顿了顿,没说完。】 【血袋开始满了。】 【你盯著天花板,忽然换了个问法:“互助会里的人,都是像你这样在献血站工作的吗?”】 【她没说话。】 【“还是说,有医生?有警察?有律师?”你继续说,“各行各业的人,凑在一起,互相帮忙?”】 【她的手指微微动了一下。】 【你捕捉到了那个细节。】 【“不是组织,”你说,“是默契。默契的意思是,我知道你是谁,你知道我是谁,但我们不用说出来。需要帮忙的时候,自然有人出手。”】 【玛丽亚沉默了很久。】 【然后她开口,声音比刚才低了一点:“你猜对了一半。”】 【你等著她继续。】 【但她没有。】 【血袋满了。她拔出针头,把棉球按在你手臂上,站起来,走到门边。】 【“下个月別来了。”她说。】 【你盯著她的背影,知道今天又问不出什么了。生命值-5,+$880。】 【当前面板】 【行动点:90,生命值:93,信用值:622,存款:$16862】 【是否结束本月?】 …… 【(行动点-90)……】 “结束。” 【本月已结束。】 【第2年的第十三月开始。月初无事发生。行动点:110,生命值:93,信用值:652,存款:$19047】 …… 陈哲看著屏幕,手指在触控板上悬著。 已经两次了。 两次献血,什么都没问出来。玛丽亚的態度越来越冷,话越来越少。 他在想,要不要换个思路。 但最后他还是点了一下献血。 【(行动点-20)你推开献血站的门。】 【玛丽亚站在前台,看见你进来,没有皱眉,没有嘆气,只是静静地看著你。】 【你忽然觉得有点不对。】 【“玛丽亚?”】 【她没说话,只是转身往里走,走到走廊尽头那间办公室门口,推开门,侧身示意你进去。】 【你愣了一下,然后跟著走进去。】 【办公室里还有一个人。】 【一个老头,六七十岁,头髮全白了,穿著一件旧旧的棕色夹克,坐在办公桌后面,手里拿著一份文件。他抬起头,目光落在你身上,从上到下扫了一遍。】 【玛丽亚站在门口,没有进来。】 【老头把文件放下,往后靠在椅背上,看著你。】 【“坐。”他开口,声音沙哑,像是用了很久的那种老收音机。】 【你在他对面的椅子上坐下。】 【老头盯著你看了几秒,然后忽然笑了。】 【“玛丽亚说你每周都来,问了两个月。”他说,“你到底想知道什么?”】 【你盯著那张苍老的脸,脑子里飞快地转著。】 【“互助会。”你说。】 【老头点了点头,像是早就料到你会这么回答。】 【“互助会,”他重复了一遍这个词,“你知道这个词最早是从哪儿来的吗?”】 【你没说话。】 【他继续说:“十八世纪,英国。工人们凑钱,谁生病了,谁受伤了,谁死了,就从这笔钱里拿出一部分来帮忙。后来传到美国,演变成各种形式。工会、兄弟会、互助保险……”】 【他顿了顿。】 【“但这些都是面上的。真正的互助会,不是写在纸上的。”】 【你盯著他,等著他继续。】 【老头站起来,走到窗边,背对著你。】 【“纽约有两百万人活在贫困线以下,”他说,“他们住不起好房子,看不起病,吃不起好东西。但其中有一小撮的人还在人们的视线之下,你知道为什么吗?”】 【你没回答。】 【“因为这极少数的人互相帮忙。”老头转过身看著你,“你帮我找个工作,我帮你看个孩子。你给我介绍个便宜的医生,我给你介绍个能赊帐的超市。谁家出事了,大家凑钱帮一把。谁被人欺负了,大家想办法报復回去。”】 【“这就是互助会?”你问。】 【“这就是互助会。”老头说,“不是什么组织,没有名单,没有章程,没有会费。就是一种……活下去的方式。”】 【你沉默了几秒。】 【“那献血站呢?”你疑惑地说,“献血站和互助会是什么关係?】 【老头盯著你看了几秒,然后走回办公桌后面,坐下。】 【“献血站,”他说,“是互助会的眼睛。”】 【你愣了一下。】 【“你以为那些血去哪了?”老头拿起桌上那份文件,晃了晃,“医院?血库?对,有一部分是。但还有一部分……”】 【他顿了顿。】 【“去了那些需要的人手里。”】 【你的脑子里有什么东西串起来了。】 【“互助会的人,”你说,“受伤了,生病了,需要血,就从这里拿?”】 【老头没有否认。】 【“那公司呢?”你追问,“献血站背后的那家公司,他们不知道?”】 【老头笑了。】 【“他们知道。”他说,“他们当然知道。你以为他们为什么要在全美各地开这么多献血站?真的是为了赚钱?”】 【你盯著他。】 【“血浆能卖钱,”老头说,“但血浆背后的东西,比钱值钱得多。”】 【他站起来,走到你面前,居高临下地看著你。】 【“互助会不是组织,”他说,“但互助会背后,有人。那些人在该帮忙的时候帮忙,在该收手的时候收手。献血站是他们的眼睛,也是他们的手。”】 【你沉默了,这真是意料之外,你没想到互助会是这么一个东西。】 【不论从哪个角度来看待这个社会,都显得无比片面,斩杀线是它的一面,这令人激昂向上的温情,却也是一部分。】 【老头盯著你看了几秒,然后转身走回办公桌后面。】 【“你问得太多了,”他说,“但你看上去不像是坏人。所以今天这些话,我当没说过。”】 【他拿起那份文件,低头继续看。】 【“走吧。別再来了。”】 【你站起来,走到门口,忽然停住。】 【“你是谁?”你问。】 【老头没有抬头。】 【半晌,见没有答覆,你推开门,走了出去。】 【玛丽亚站在走廊里,看见你出来,不言不语,只是点了点头。】 【你往外走,走到门口的时候,忽然发现自己手里多了一个信封,不知道什么时候塞进来的。】 【你打开一看,里面是钱。比平时多了一倍。生命值-5,+$1760。】 【当前面板】 【行动点:90,生命值:88,信用值:652,存款:$20807】 【是否结束本月?】 第四十六章 技能上限 陈哲盯著电脑屏幕上最后一行的结束本月,思索了片刻,还是不决定放过这个月里的机会,把剩下的行动点用在了学习上。 【(行动点-90)互助会的事情固然对你產生了世界观的衝击,但你把这个月剩下的时间都用在了计算机里。】 【你开始重读《代码整洁之道》,这一次读进去的东西和几年前完全不同。以前你看这本书,只觉得那些规则麻烦,命名要讲究,函数要短,注释要少。现在你再看,忽然明白那些规则背后是人的规范,貌似没有必要用代码的角度去理解它们。】 【你重新翻出那本《设计数据密集型应用》,之前看不懂的地方,现在能看进去了。分布式系统的那些概念——一致性、分区、复製、事务——不再是抽象的词,开始在你的脑子里形成一张模糊的地图。你知道你还远没到能用的程度,但至少你知道它们存在,知道它们为什么存在。】 【你开始写技术博客。】 【月底,你收到一封邮件。是公司cto发来的,转发了一篇你的博客,附了一句话:“写得不错,继续。”】 【你的计算机技术得到了提升。】 “结束本月。” 【本月结束。】 【模擬次数已耗尽】 【模擬评价:你用了三个月的时间,终於问出了互助会的真相,知晓此中秘辛。你没有因此变得更强,没有因此赚到更多的钱,但你知道了一些別人不知道的事。有些东西,知道就是价值。】 【结算奖励:lv2计算机技术、lv3献血经验】 …… 还没等陈哲做出什么反应,这一次的技能经验就全然灌输到了体內,不过两三秒的功夫,仿佛眼前有许多画面闪过。 只不过这些画面並不是真实存在的记忆,而是人脑为了补充这些多余的技巧而自动模擬的情景,因此陈哲也就没有多少在意,真看细节还是得看模擬器。 再看向屏幕,上面的结算奖励的文案又有了变动。 【计算机技术(lv2):】 【至此,唯有返璞归真一词可以形容。】 【献血经验(lv3):】 【本技能已经达到上限。】 “本技能已经达到上限?” 陈哲看著献血经验的lv3一栏,顿时微微一怔,不过仔细一想,却也很合理。 “看样子每个技能基本上到了lv3就是极限了,又或者说,是在没有自我创新情况下的极致。”陈哲点了点头。 他能感觉到自己的计算机技术正在升华,至於具体水准如何,现在倒是还没有一个测量的標准。 从这一点来看,程式设计师的这一条线,陈哲暂时是不需要考虑计算机技术的提升了。 毕竟从lv2到lv3的跨度实在是太大,在社区献血里就是从知晓献血路线到知晓献血真相,自己目前每一次可能都是阶段性的提升,可除非有巨大的机遇,否则还是没法迈出那一步。 “接下来去一趟献血站,爭取得到互助会的帮助,对付丹尼斯也算是有点助力了……” 陈哲暗自心想。 他寻找互助会真相,说到底还是为了自己,倘若形单影只,就算再怎么个人英雄主义,在黑帮的手下也就是落得个“给个痛快”的结果,但是有了这个群体的帮助,那或许对方才需要掂量掂量。 陈哲思索了片刻,把这些东西记了下来,就重新把重心放回到了正事上。 陈哲把视线从模擬器上移开,看了一眼电脑右下角的时间。 23:07。 “这模擬器真是杀时间利器,居然这么快就到半夜了。”陈哲微微惊讶,不过这倒也正常,同类型的文明和红警比这更消磨光阴。 陈哲打著哈欠打开youtube后台,数据加载出来的那一刻,他的手指在触控板上停了一秒。 付费视频购买量:243份。 单价2.99美元,扣掉平台分成,到手大概每份2美元出头。 243份,就是將近五百美元! “我也能赚这么多钱?” 陈哲微微惊嘆。 他盯著那个数字看了几秒,隨后继续往下翻。 总订阅数:11,247。 距离上一次查看涨了六百多,不过这涨势显而易见也已经变得乏力了。 “看来差不多该消化完了。” 陈哲心中无比震撼。 到这里,陈哲才算是了解到外国社交媒体上的粉丝粘性到底有多恐怖,一个几十万粉丝的频道主的推荐,居然可以做到这种程度。 “一个码农日记都这样了。” “如果是speed,或者野兽先生呢?” 陈哲思绪起伏,想到那些出名的外网自媒体,顿时信了这些人到全世界都有人欢迎的传闻。 他缓缓沉寂下来情绪,这才继续翻动界面。 评论区里多了不少新留言,大部分是刚看完免费视频过来点关注的,也有几个是买了付费內容的,在问下一期什么时候出。 他一条一条往下翻,翻到中间的时候,手指停住了。 【这水平也能开付费?我看了十分钟就看不下去了,建议回去多学两年再出来教人。】 陈哲盯著那条评论看了两秒,然后点进那个人的主页。 头像是个默认的灰色轮廓,暱称是一串乱码,刚註册的帐號,没有视频,没有订阅,没有任何內容。 他退出来,继续往下翻。 【支持一下,讲得很清楚,適合我这种小白。】 【已买,希望质量对得起价格。】 【楼上的黑子是不是同行派来的?】 陈哲没再往下翻。他关掉评论区,打开私信。 未读消息:83条。 他快速扫了一遍,大部分是粉丝留言,还有几条gg,一条来自本的问候,问他周六几点到。 翻到第67条的时候,他的手指又停住了。 发件人:codemaster_us 【看了你的频道,有点意思。不过你这种入门级的水平也敢开付费,是认真的吗?周日晚上八点,我开直播讲python性能优化,你敢来连麦切磋一下吗?输了把付费视频下架就行。贏了,我甘拜下风,给你推荐。】 陈哲盯著那条消息,眉头微微皱起。 codemaster_us。 他点进那个人的主页,扫了一眼。订阅数:8.6万。视频列表很长,最早的是三年前的,最近一期是三天前,讲python多线程的坑。播放量平均两三万,最高的那期有十几万。 他又看了一眼那人的简介:前谷歌工程师,现自由职业,专注python性能优化和架构设计。 “接近十万的粉丝……” 陈哲深嘶一口气,姑且可以和自己算是同一个量级。 挑战。 周日晚上八点。 输了下架付费视频,贏了给予推荐。 他想了想,开始打字。 【周日几点?】 第四十七章 作家 【codemaster_us:周日八点。】 【哲思:晚上?】 【codemaster_us:yes。】 “晚上八点啊。” 陈哲想了想,这个机会確实不少见。 不论在东大还是美国,这种pk都可以迅速交换受眾,一般来说在游戏区、生活区甚至可以做到双方收益的结果。 可陈哲选的毕竟是学习区,这种对抗就是成王败寇,一旦一方败了,之后对方的流量或许都会直接涌入陈哲的这边。 “正巧,趁著这个机会,也可以看看我的上限。” 陈哲还是有点自信的。 明天是周六,也就是他去见码农日记频道的频道主“本”的日子,这时间倒也並不衝突。 陈哲感觉自己的编程技术好似是一把砥礪研磨许久的军工武器,只等见血的时候,眼下的这些,说到底也只不过是铺垫而已。 …… 第二天一早,陈哲醒来的时候,杰姆尼还在睡。 客厅里静悄悄的,只有窗外偶尔传来的几声鸟叫。那扇新装的门关得严严实实,门锁咔噠一声,推开的时候带著一点新木头的气息。 陈哲洗漱完,套上那件格子长袖衬衫,把手机和钱包塞进口袋,出了门。 地铁6线,还是那条路线。 从布鲁克林到曼哈顿,四十分钟的车程。窗外的景色从破旧的红砖楼渐渐变成整洁的石质外墙,从涂鸦满墙的仓库变成掛著艺术画廊招牌的改建厂房。车厢里的人也在变,从裹著厚外套的打工族变成穿著羊绒大衣的白领。 陈哲靠在座位上,盯著窗外发呆。 陈哲並没有前往本的家里,这会儿还不是时候,下午三点去绿点区的话,在那之前做一些事情,也还来得及。 由於周末的缘故,陈哲从周一到周五都在快餐店里干满了四个小时的工作,现在的这两天对他来说就是真正意义上的双休,陈哲的心情也就不自主地放鬆了不少。 公交在68街亨特学院站停下。 本书首发 101 看书网伴你閒,101??????.??????超方便 ,提供给你无错章节,无乱序章节的阅读体验 陈哲下了车,走出站点。 上东区的早晨比布鲁克林安静得多。街道宽阔整洁,人行道上的砖铺得整整齐齐,垃圾桶规规矩矩地立在路边,盖子盖著。穿著运动服的慢跑者从身边经过,耳机线垂下来,隨著步伐轻轻晃动。牵著狗的老人慢悠悠地走著,狗是那种毛茸茸的小型犬,走几步就要停下来闻闻路边的消防栓。 陈哲沿著列克星敦大道往北走,拐进一条小巷。 献血站的招牌还是那个样子,白色的底,蓝色的字,边缘有一点褪色。玻璃门上贴著几张海报,宣传献血的好处,还有那张熟悉的营业时间告示。 他推门进去。 消毒水的气味儿扑面而来,前台那个年轻的黑人姑娘正在低头看手机,听见门响抬起头,看见是他,愣了一下。 “你……”她张了张嘴,像是在回忆,“你又来了?” 陈哲点点头。 “玛丽亚在吗?” 黑人姑娘看了他一眼,拿起电话拨了个內线。电话那头说了句什么,她掛断,朝他点了点头。 “进去吧,走廊尽头那间。” 陈哲穿过走廊,两侧的採血室门半开著,能看见里面白色的躺椅和那些熟悉的仪器。走到尽头,有一扇门关著,门上贴著一张纸条,写著“办公室”。 他敲了敲门。 “进来。” 是玛丽亚的声音。 陈哲推门进去。 玛丽亚正坐在办公桌后面,面前摊著一堆表格。她抬起头,中年的面庞,看见陈哲,眉头微微皱了一下:“噢,又是你?” “对。” 玛丽亚盯著他看了几秒,然后把笔放下,往后靠在椅背上。 “你到底想干什么?” 陈哲在她对面的椅子上坐下。 “我想见那个老头。” 玛丽亚的表情顿了一下。 “什么老头?” “我知道的那位。”陈哲简单描绘了一下,“六七十岁,头髮全白了,穿一件棕色夹克。他跟我聊过互助会的事。” “你认识他?”玛丽亚微微一怔,口风也鬆了下来:“看来你应该是哪个我不知道的自己人了,到时候有什么要求就提吧。” “你这个人……”她摇了摇头,走回办公桌后面,拿起电话,拨了一个短號。 电话那头接通了。她压低声音说了几句,然后掛断,抬头看著陈哲。 “等著。” 她站起来,走出办公室,门在身后关上。 陈哲一个人坐在办公室里,目光扫过四周。 房间不大,一张办公桌,两把椅子,一个文件柜。 墙上掛著一张献血站的平面图,角落里贴著一张泛黄的海报,上面写著“献血救人”(blood donation)。 等了大概十分钟。 门被推开了。 玛丽亚站在门口,侧身示意他出来。 陈哲站起来,跟著她往外走。他们没有往前台的方向,而是往走廊的另一头,穿过一扇平时锁著的门,走进一段狭窄的楼梯。 楼梯向下,光线很暗,只有墙上几盏应急灯发出微弱的光。水泥台阶被踩得发亮,边角磨损得很厉害,像是被无数人走过。 走到最下面,是一扇铁门。 玛丽亚在门前停下,回头看了他一眼。 “进去吧。” 她推开铁门,侧身让开。 陈哲走进去。 门后是一个不大的房间,比楼上的办公室大一点,但也大不到哪去。墙上刷著白漆,已经有点发黄了,天花板上吊著一盏老式的日光灯,嗡嗡地响。 房间中央摆著一张旧沙发,棕色的皮面,边角磨得发白,坐垫已经塌陷下去一块。沙发对面是一张木头茶几,上面放著几本杂誌,还有一个菸灰缸,里面没有菸头。 窗边站著一个老头。 他背对著门,正看著窗外那条窄窄的巷子。听见门响,他转过身。 六七十岁,头髮全白了,穿著一件旧旧的棕色夹克。脸上的皱纹很深,眼窝有点陷进去,脸上通红得像重枣。 而陈哲看到对方的一瞬间,立刻就知道了身份。 虽然模擬器里的模擬对象在被劝退出献血站点之后也没有问到这个老人的真实身份。 但是在见到那张脸的时候,陈哲立刻就把他在布鲁克林区立书店里看到过的一本书的封面联繫上。 这是个当代作家! 第四十八章 收尸人 “你是……”他顿了顿,“那个作家?” 老头的眉毛微微挑了一下。 “你认识我?” 陈哲知道不论哪个国家都有自己的伤痛文学,美洲有马尔克斯,中国也有一眾文学创作者,美利坚这块多灾多难的土地,自然也会有人控诉这份荒诞。 那本书的內容陈哲並不知晓,不过光是看那个书名和体裁就已经知道內容如何,《死线下的人民》,毫无疑问是一个把生活和写作联繫得很密切的作者。 就是这个人。 老头盯著他看了几秒,往后靠在椅背上。 “嚯。”他红润的脸色上微微颤动,高血压的充血,让他哪怕是正常说话都显得又惊又怒:“来献血站查互助会的人,居然还知道我写过书。” “那你应该知道,我写那些东西不是为了出名。”老头沉著脸看著陈哲。 陈哲微微頷首。 “知道。”陈哲顺著话说,“是为了让外面的人看见。” 陈哲应付这样的老头倒是有挺多次了,对方看起来生气,但实则不是真正的气愤,只是因为年龄大了身体不好,因而不怯场就不会什么问题。 “让外面的人看见。”老头斟酌这几个字,沉默了几秒,点了点头。 “好……”他说,“你来干什么,说吧。” 陈哲看著他,深吸一口气。 “我被盯上了。” 老头的眉毛又挑了一下。 “什么人?” “那你需要保证这里的对话不会被告知给第三个人。” 陈哲说著。 这算是他第一次开赌! 察觉到老头投来的目光,陈哲顿时不紧不慢,敘述起来。 “一个加拿大人。”陈哲说,“丹尼斯。做冰毒的,手底下有一帮人。他手下那帮人上个月闯进我家里,三个人,有管制刀具,也有枪。” 老头没有打断他,只是听著。 陈哲继续说:“我之所以知道他们的幕后主使,这和我的生活脱不开干係,当然,也可以这么理解……那三个人虽然被fbi扣留了,可拖延下去迟早会出大事。” 陈哲之所以引火上身,说到底从根子上就出了问题。 自己刚刚来到美利坚时候就开始打工的快餐店,熟客之中就有那位丹尼斯,自己好歹是一个年轻劳动力,正是对方需要的人,可谓是本来就在劫难逃。 即便是之后去往罗德里格斯夫妇家中家教,也不能说加快了这个进程,只能是让陈哲更快地意识到了这件事而已,至於对fbi两位警员约定的吹哨人法案,是陈哲希冀於大难不死,或者成功反击之后为自己攫取到的一点点利益。 “然后呢?”老头询问。 “我需要帮助。”陈哲说,“互助会的帮助。” 老头盯著他看了很久。 房间里安静得只剩那盏日光灯发出的嗡嗡声。 “你知道互助会是什么吗?”老头把交叠的手摊开,忽然问。 “知道。”陈哲说,“有人对我说过:『不是什么组织,没有名单,没有章程。就是一群互相帮忙的人。谁被欺负了,大家想办法报復回去。谁需要血了,献血站的人悄悄给他留一袋。』” “对吗?” 老头沉默了几秒。 “那你应该也知道,”他说,“互助会不会帮外人。” 陈哲点了点头。 “我知道。”他说,“但我不是外人。” 老头的眼睛微微眯起来。 “什么意思?” 陈哲看著他,一字一顿地说:“献血站的人,我认识。互助会的事,我查了两个月。你们是什么人,你们在做什么,我知道的不比你们自己少。” 他顿了顿。 “如果这样还算外人,那我不知道什么才算自己人。” 老头盯著他看了很久。 然后他忽然笑了。 不是那种客气的笑,是真的笑,眼角挤出几道深深的皱纹。 “有趣。”他说:“没想到你还懂威胁。” 他站起来,走到窗边,背对著陈哲,看著那条窄窄的巷子。 沉默了很久。 然后他转过身,看著陈哲。 “那个加拿大人,”他说,“丹尼斯,我知道他。” 陈哲愣了一下。 老头走回木椅边,坐下。 “东威廉斯堡那片,他做了好几年了。”他说,“手底下有二三十號人,主要是黑人,也有几个白人。退伍兵,帮派分子,假释犯,什么人都有。据点在一个废弃的地下车库里,只不过已经没人知道具体的地方了。” 陈哲的心里微微一动。 地下车库。 福斯特街47號。 那个他让谢尔盖去的地址。 “你怎么知道这些?”他问。 老头看了他一眼。 “因为我写书的时候,採访过他手下的人。”他说,“一个叫马库斯·威廉士的黑人小子,二十三岁,有三次盗窃前科。他跟我说,他们老板是个加拿大人,很谨慎,从不在公开场合露面,有什么事都是通过中间人传话。” 陈哲听到这个熟悉的名字,顿时微微一怔。 马库斯·威廉士,就是那天闯进他家的第一个人。 “那个人后来呢?” “死了。”老头说得很平静,“採访完第三天,被人发现死在一条巷子里,身上被捅了七刀。警察说是帮派仇杀,结案了。” 陈哲沉默了几秒。 老头成书的时间,显然比入室盗窃的时间更早。 而死人是不能入室抢劫的。 也就是说,不是同一个人? 儘管还有同名同姓的可能,陈哲忽然感觉有点地狱笑话了,毕竟在他看来每个黑人都长的一模一样,以前就分不清一些电影明星和非洲的军官,弄得貽笑大方,没想到眼下自己居然出现了这种紕漏。 “看来还有必要去本地的fbi招待所看看。”陈哲心中冒出这么一个想法。 同时,到这里也是真正实锤了,“马库斯”是丹尼斯的手下。 老头看著他。 “你现在还想要互助会的帮助吗?或者说,你要我怎么帮?” 陈哲终於听到自己想听的问题,顿时把脑海之中的杂念清理乾净,神色也渐渐变得诚恳起来。 “我需要一个收尸人。” 陈哲斩钉截铁地说。 “为你收尸?” “不是。” “为他们收尸?” “不是。” “我懂了。” 老头盯著他看了几秒,然后点了点头。 “好。” 他站起来,走到窗边,背对著陈哲。 “你回去等著。需要你的时候,会有人找你。这段时间別乱动,別去找丹尼斯,別做任何打草惊蛇的事。” 陈哲站起来。 “我能问一句吗?” 老头没回头。 “问。” “你为什么要帮我?” 老头沉默了几秒。 然后他转过身,看著陈哲。 “因为那个叫马库斯的小子,”他说,“他死之前跟我说了一句话。” “什么话?” 老头盯著他,一字一顿地说:“他说,『互助会要是早点出现,我就不用跟著那个加拿大人混了』。” 陈哲一怔。 老头走近他面前,伸出手。 陈哲握住。 那只手很粗糙,指节突出,掌心里有厚厚的茧,像是一个干了很多年体力活的人。 “我叫弗兰克。”老头说,“弗兰克·米勒。” “陈哲。” 弗兰克点了点头。 “走吧。玛丽亚会送你出去。” 他鬆开手,转身走回窗边,背对著他。 陈哲站了几秒,才往外走。 走到门口的时候,陈哲忽然停住,回头看了一眼,弗兰克站在窗边,渐渐眯上了眼睛。 “年龄大了有嗜睡症么……” 陈哲看著对方的表现,心中暗想。 他推开门,走了出去。 玛丽亚站在走廊里,看见他出来,顿时点了点头。 陈哲现在是互助会的成员,可以算得上是同事。 他们沿著那段狭窄的楼梯走上去,穿过那扇平时锁著的门,回到献血站的后走廊。 走到门口的时候,玛丽亚忽然开口。 “你运气不错。” 陈哲看著她。 “弗兰克一般不轻易见人。”玛丽亚说,“更不会轻易答应帮忙。” 陈哲没说话。 玛丽亚看著他,摇了摇头:“行了,走吧……有事会找你。”她转身往回走,脚步在走廊里发出清脆的声响。 陈哲已经到了献血站的外面了。 第四十九章 本的震撼 陈哲之所以提出要一个收尸人的要求,是他知道献血站的互助会有可能请出这么一號人物,毕竟想要在美利坚当收尸人,无疑是一件需求极大的差事,不论是人脉还是能力都有打点,涉及了底层和政府部门。 做收尸人的本身不会游走於斩杀线上,但是从某种意义上,他们也无时不刻面对著威胁,这就是互助会之中会有收尸人的缘故。 “互助会肯定是没法直接帮我对抗黑帮的,因为水太深,如果帮了就会难逃其咎,这是都懂的道理。” “但是这力所能及的帮助,却也是他们的作风。”陈哲心绪起伏,想起了另外一件事。 下午到本的家中的聚会。 …… 布鲁克林,绿点区。 绿点区算得上是布鲁克林北部一个安静得有点过分的街区,比起威廉斯堡来说近似於没有声音。 从屋况来看,这里的房子大多是两三层高的联排別墅,红砖墙,木製窗框,门口停著老款的丰田和本田,街上同样没什么人,一只橘猫趴在某户人家的台阶上晒太阳,听见脚步声,懒洋洋地睁开眼睛看了一眼,然后又闭上。 陈哲反覆確认著本发给自己的私信,果不其然在一间没有上锁的房门前推开,看见其中狭长的空间。 抬眼一看,就见到一个穿著蓝色卫衣,头髮在脑后扎了个小揪的白人男子。 “陈,总算来了?” 本站了起来,询问道。 “嗯。” 陈哲见到对方看到自己没有任何惊讶,顿时也就知道了他的这个频道是本刻意去搜索的。 本站在玄关里,侧身让陈哲进来。 屋子不大,但收拾得很整齐。进门右手边是一个开放式厨房,灶台上摆著一台意式咖啡机,不锈钢的,擦得鋥亮。左手边是客厅,一张深灰色的布艺沙发,对面是一整面墙的书架,塞满了各种编程书籍和技术杂誌。落地窗前摆著一张书桌,上面放著两台显示器,一台是苹果的,一台是戴尔的,键盘是机械的,青轴,敲起来噼里啪啦响。 “隨便坐。”本往厨房走,“喝什么?咖啡?茶?还是啤酒?” “咖啡就行。” 本点点头,开始操作那台咖啡机。机器发出嗡嗡的声响,咖啡豆研磨的声音,水烧开的声音,混在一起。 陈哲在沙发上坐下,目光扫过那面书架。《代码大全》《设计模式》《人月神话》《unix编程艺术》……有些他看过,有些他听过,有些他连名字都没听说过。 书架最上面一层放著几个相框。一张是本和一个女人的合影,站在海边,阳光很好,两个人都在笑。一张是本和几个朋友的合影,背景是某个酒吧,手里都拿著啤酒杯。还有一张是一个小男孩的单人照,七八岁的样子,笑得很灿烂,缺了一颗门牙。 本端著两杯咖啡走过来,在他对面坐下,把其中一杯推给他。 “尝尝。我自己烘的豆子。” 陈哲端起杯子,抿了一口。苦的,但苦得很乾净,后味有一点果酸。 “不错。” 本笑了笑,也喝了一口。 两个人沉默了几秒。 本放下杯子,看著他。 话题到这里才算是进入了正题。 “你那期文件操作的视频我看了。”本说,“讲得挺清楚。评论区反应也不错。” 陈哲点点头:“谢谢推荐。没有你的推荐,涨不了这么快。” 本摆了摆手:“不用谢我。內容是你的,我只是给个入口。能留住人是你的本事。” 他顿了顿,目光在陈哲脸上停了一秒。 “你那个短连结设计,”本忽然开口,“我当时听的时候就觉得有点意思。回去想了几天,越想越觉得那个预生成队列的思路挺巧。” 陈哲没说话。 本继续说:“一般人想到短连结,第一反应就是哈希、自增id、资料库。你想到的是成本,是cdn缓存,是预生成队列。这不是新手能想到的东西。” 他盯著陈哲,眼神里带著一点探究。 “你之前在哪家公司干过?” “没干过。”陈哲说。 本的眉头微微皱了一下。 “那你在哪学的这些?” 陈哲想了想:“网上。看书。自己琢磨。” 本盯著他看了几秒,然后端起咖啡喝了一口。 “网上?”他放下杯子,“网上能学到这种程度?” 陈哲没说话。 本又沉默了几秒,然后换了个话题。 “你平时主要写什么语言?” “python。” “框架呢?” “flask。最近在看django。” 本点点头:“flask入门快,django重型一点,適合大项目。你觉得这两个最大的区別是什么?” 陈哲想了想:“flask自由,django规范。flask让你自己选用什么库,django把一套东西都给你配好。flask適合快速原型和小项目,django適合团队协作和长期维护。” 本听著,点了点头。 然后他忽然问了一个问题:“flask的上下文是怎么实现的?” 陈哲愣了一下。 本等著他回答。 陈哲沉默了两秒,然后开始说:“flask有应用上下文和请求上下文。应用上下文存应用级別的配置和变量,请求上下文存当前请求的数据。它们用栈来管理,推入和弹出,保证每个请求都有自己的隔离空间。实现上用了localproxy和localstack,线程或者协程局部变量,避免互相干扰。” 本听完,沉默了几秒。 然后他又问:“那django的中间件是怎么工作的?” 陈哲想了想:“django的中间件是一个处理请求和响应的鉤子框架。请求进来的时候,会按顺序经过每个中间件的process_request方法,然后到视图函数,返回的时候再经过process_response。如果某个中间件返回了httpresponse对象,后面的就不走了。” 本盯著他,眉头微微皱了起来。 “你刚才说的那些,”他顿了顿,“是从哪看的?” “flask源码。”陈哲说,“django文档。” 本沉默了几秒,然后端起咖啡喝了一口。 喝的时候,他呛了一下。 他把杯子放下,咳了两声,然后看著陈哲,眼神有点复杂。 “flask源码?”他重复了一遍,“你把flask源码读了?” 陈哲点点头。 本又沉默了几秒,他往后靠在椅背上,盯著陈哲看了很久。 心中几乎在震颤。 这傢伙的水平,绝对不止当时看起来那么简单! 本端起咖啡又喝了一口,这一次喝得很慢。 他看著陈哲在书架前走动,目光落在那道瘦削的背影上,脑子里却转著別的事。 当初在那一次聚会之后,他就关注到了眼前的这个新人,並且通过信息检索手段查询到了对方的社交媒体帐號…… 但本发誓,他是有道德的,除了看一眼对方的社交媒体帐號之外,什么都没看。 於是本就知道了陈哲是油管的频道主。 视频內容不错倒是不错,就是有点中规中矩,直到他看到了对方做的比较好的一期视频。 第六期那个文件操作,他看了十分钟,关掉,又打开,又看了一遍。 讲得太清楚了,甚至有点通透,倒也不是那种照著文档念的清楚,纯粹是是真的自己吃透了,再用最直白的话讲出来,那种感觉他太熟悉了,他自己做视频做了五年,知道这种清楚背后需要多少积累! 这种积累,虽然比当时在聚会上看到陈哲时候对方的能力更强一点,尚且在本的肚量之內。 只是现在嘛…… 现在他坐在自己家里,看著那个人站在书架前,隨手抽出一本《设计数据密集型应用》,翻了翻,又放回去,动作自然得像是在自己家。 本又喝了一口咖啡。 然后把杯子放下。 “陈。”他开口。 陈哲回过头。 “你等我一下。”本站起来,往书房走,“我有点东西想给你看看。” “哦。”陈哲点了点头。 见到陈哲的行为,本总算鬆了口气。 他走进书房,把门带上。 书房的窗户正对著后街,阳光从窗帘的缝隙里透进来,照在地板上,一小块一小块的金色。本在书桌前坐下,打开那台苹果显示器,手指在键盘上敲了几下,检索陈哲的信息。 搜索。 页面加载出来。 他盯著屏幕,愣住了。 名字还在。 照片还在。 签证状態还在。 但是其他的一切,例如位置记录、手机號、邮箱、paypal帐號、github用户名、关联社交帐號。 全没了? 被覆盖得乾乾净净,什么都不剩。连痕跡都没有,像是从来不存在过。 本盯著屏幕,手指在键盘上悬著,好一会儿没动。 他又搜了一遍。 还是一样。 就连深层源档案都被覆盖了,可以说这种非官方的查询方法,根本奈何不了陈哲! 他往后退了一步,靠在椅背上,盯著天花板。 天花板是白色的,有一道细细的裂缝,从墙角一直延伸到窗户边。 本咽了口唾沫。 他站起来,走到窗边,拉开窗帘,往外看了一眼。 后街还是那个样子,安静,没人。 “还好,还好。” 他放下窗帘,走回书桌前,把那个网页关掉。 本深吸一口气,推开门,走了出去。 陈哲还站在书架前,手里拿著另一本书,《unix编程艺术》,正在翻目录。 本走过去,在他旁边站定。 “这本不错。”他说,声音故作沉稳,“我当年入行的时候,这本翻了三遍。” 陈哲点点头,把书放回去。 本看著他,忽然问:“你对系统设计这块怎么看?” 陈哲想了想:“还在学。” “学到哪了?” “cap理论,base原则,分布式事务的基本模式。两阶段提交、tcc、saga,大概知道是什么,不过没用过。” 本点点头,没多问。 两个人又聊了几句有的没的,youtube的算法,最近的热门技术,群里那些人的近况,本发现自己说话的时候,会不自觉地多看陈哲两眼,像是在確认什么。 四点半的时候,陈哲站起来。 “我该走了。” 本站起来,送他到门口。 陈哲推开门,回头看了他一眼。 “谢谢今天的咖啡。” 本点点头。 “下次再来。” 陈哲走了。 本站在门口,看著那道背影消失在楼梯拐角处,然后关上门,靠在门板上,长长地吐出一口气。 他走回客厅,在沙发上坐下,盯著那两杯喝了一半的咖啡,难以言喻的震撼心情在心中荡漾,发了一会儿呆,心有余悸,仿佛第一次认识陈哲。 “这样的人才,怎么可能找不到工作呢?我真是想多了。” 本嘆了一口气,缓缓把手里的推荐信收了起来,目光凝视著陈哲离开的地方。 第五十章 超级感谢 陈哲回去的路上,就看到手机上的一则提示。 【你的视频收到了$1,000的超级感谢】 【码农日记:这是给你的鼓励。】 “一千美元!” 陈哲顿时一怔,看著自己的频道会员里名列第一的码农日记,顿时不知所措,不知道这算好消息还是坏消息。 超级感谢,算是youtube的一个標誌性功能,和超级贴纸(super stickers)和频道会员(channel memberships)一样,发展得都已经相当成熟,用来给单个视频进行打赏。 而码农日记挑选的视频,恰好是自己的第一期付费视频,这种彩色高亮显示的字幕大概还需要等待下一个超级感谢的出现才会被刷下去。 “只是这么一来,他的消息就要这么显眼地掛在这里……”陈哲略显思索,顿时无奈地嘆了一口气。 多做一个付费视频,倒也不差对方这么一点钱了。 而相反的,本这么一来,还是给其自身打的gg,可以说是既赚了自己的人情又获得了流量,一石二鸟。 “谁说美利坚没有人情世故。” 陈哲摇头嘆了一口气,只感觉社会险恶,一边登上了公交车。 …… 回了布鲁克林区,陈哲掏出钥匙,转动几圈,推开了那扇自己装卸的门。 不得不说,这种散装门的质量居然出奇地不错,关门的时候没有吱呀声,推开的时候也没有那种老旧的涩感,新换的门锁拧起来很顺滑,咔噠一声就开了。 今天晚上,算得上是陈哲难有的休息时间,不过想到明天的事情就略感头疼了。 不仅仅是和那个codemaster_us比拼计算机技术,还有罗德里格斯夫妇家里的家教。 “看来今晚得早睡了。” 陈哲思绪起伏,打开灯泡,將眼睛向下一瞥,顿时被眼前的一幕嚇了一跳。 “二十一,二十二……” 杰姆尼正趴在地上,双手撑地,两腿悬空搭在沙发上,整个人呈一个诡异的倒立伏地挺身姿势。他的脸憋得通红,额头上的青筋暴起,汗珠一颗颗往下砸,在地板上匯成一滩小小的水渍。 由於天气到了十二月份,较为寒冷,甚至还能看到杰姆尼身上隱隱约约有汗水蒸发的热气。 “不是,这算什么?健身房龙级灾害吗?”陈哲惊了。 陈哲对杰姆尼的练法瞠目结舌,还没来得及多说几句话,就看到杰姆尼直接咚的一声他整个人从沙发上滑下来,摔在地板上,四仰八叉地躺著,大口喘气。 见此一幕,陈哲盯著地上那滩人形的汗渍,好一会儿没动。 “陈,你来了?” 杰姆尼喘著气,抬头看向陈哲。 “行,等我先放个东西。” 陈哲若有所思,沉吟两秒,把单肩背包从身上放了下来,掛在门口。 回过头来的时候,就看到杰姆尼已经拿起拖把,开始拖起地上的那些汗痕。 得了,又做几分钟有氧。 陈哲一阵震撼。 看著杰姆尼的动作,陈哲不由得有点世界观被刷新的感觉,他倒是从来没见过有人能把囚徒健身玩成这个样子。 按理来说不用器械,强度都不会很大,大部分人也就是適可而止了,可杰姆尼现如今每天都是超负荷,一方面也可以看出他的意志力坚定。 “啪嗒。” 杰姆尼把拖把放到墙边,地板上这才显得乾净了不少,脸上仍然通红。 “陈,你有事吗?” “没有。” 陈哲看著这一幕,顿时也有了接下来的打算。 既然如此,倒不如从给对方检验训练成果开始,作为自己开始体育锻炼的引子…… 否则自己突然开始自律起来,杰姆尼虽然不至於起疑心,但是怎么说也还是较为奇怪的。 思忖了几秒,陈哲开口道:“我今晚难得有空,不妨检验一下你的训练成果?” “真的假的?” “当然,因为我也有运动的打算,先从几个维度开始吧。”陈哲点了点头。 陈哲走到沙发边,把那把缺了一条腿的塑料椅挪开,腾出一小块空地。 “来。”他朝杰姆尼招了招手。 杰姆尼从地上爬起来,拍了拍身上的灰,走过来站定。他光著上身,只穿一条运动短裤,皮肤上还掛著没擦乾的汗珠,在客厅昏黄的灯光下泛著一层油亮的光泽。 陈哲的目光从他身上扫过。 肩膀宽了,三角肌瘫软,胸肌轮廓明显,腹肌虽然还藏在那一层薄薄的脂肪下面,但已经能看出分块的痕跡。两条手臂上的血管隱约凸起,像是刚充完气的轮胎。 这就是新手膨胀期的阶段了。 “练得不错。”陈哲点了点头,给予鼓励。 杰姆尼咧嘴笑了,露出一口白牙:“那当然,我每天练四个小时,可不是白练的。” 陈哲没接话,转身走向那堆还没来得及收拾的工具箱,他从里面翻出一卷未拆封的胶带,又翻出一个空的矿泉水桶——五加仑的那种,平时用来装水的,现在空著,轻飘飘的。 他把胶带缠在桶身上,绕了几圈,固定好,然后拎起来掂了掂。 “先试腕力。”他说。 杰姆尼愣了一下:“腕力?用这个?” “用这个。”陈哲把桶放在地上,“单手拎起来,手腕不许弯,坚持三十秒。” 杰姆尼盯著那个空桶看了两秒,然后蹲下去,右手握住桶把,用力往上一提。 桶起来了。 他的手腕绷得很直,手臂上的肌肉绷紧,青筋暴起。 他咬著牙,坚持了十秒,十五秒,二十秒。 二十五秒的时候,手开始抖,二十八秒,桶从手里滑落,砸在地上,发出咚的一声闷响。 杰姆尼甩著手腕,齜牙咧嘴:“这玩意儿看著轻,拎久了真他妈累。” 陈哲点点头,没评价。他把桶拎起来,递到杰姆尼面前:“换左手。” 杰姆尼接过,左手拎起来。这次坚持了不到二十秒就掉了。 陈哲把桶放回地上。 “臂力。”他说,“伏地挺身,標准姿势,手在肩正下方,下去的时候胸口贴地。做到力竭。” 杰姆尼二话不说,趴下去就开始做。 一个,两个,三个……他做得很快,动作也很標准,下去的时候胸口几乎贴著地板,起来的时候手臂完全伸直。十个,二十个,三十个—— 做到第四十二个的时候,他的速度慢下来了。 四十五个,他撑在地上,胸口离地面只剩一拳的距离,但起不来了。 “四十五。”陈哲说。 杰姆尼翻了个身,躺在地上大口喘气。 陈哲站起来,走到那扇新装的门边,把门推开一条缝,露出门框和墙之间的缝隙。他把手指伸进去,扣住门框的边缘,用力拉了拉。门框纹丝没动。 他转过身,看著杰姆尼。 “腿力。”他说,“深蹲,背靠墙,大腿和地面平行。坚持到力竭。” 第五十一章 居家健身 陈哲在看著对方做这些训练的同时,倒也在思考著自己在面对这些检验的时候,最后会呈现出怎样的效果。 毕竟这也算是热身的一部分,观察是比对的一部分,陈哲还是知道如何唤醒健身人的身体的。 “行。” 杰姆尼点了点头,爬起来,走到墙边,背靠上去,慢慢往下蹲,蹲到大腿和地面平行的时候方才停住。 一秒,两秒,三秒…… 十秒的时候,他的腿开始抖。 二十秒,抖得更厉害了,脸上的表情开始扭曲。 二十五秒,他整个人往下一滑,一屁股坐在地上。 “二十五秒。”陈哲看了一眼手机上的计时,开口道。 “好。” 杰姆尼坐在地上,大口喘气,汗珠顺著脸颊往下流。 “这玩意儿还真练腿,你是从哪里找到这么稀奇古怪的动作?” “你不看网上的健身入门视频么?”陈哲算是搞明白对方刚才那一套伤身体的动作到底是怎么做出来的了,一脸鄙夷。 “那我之后看看。”杰姆尼打开手机里的备忘录,用英语规划了一下明天的日程,就將其重新塞回了口袋里。 陈哲看著对方的操作,顿时也就无话可说,看来对方倒不是装的,是真的不知道网上还有健身区这种东西。 莫非这就是快乐教育的產物? 陈哲有点怀疑人生,本来还寻思著杰姆尼好歹也算是个精明的人,可眼下这么看却越发觉得对方傻了。 休息完之后,杰姆尼询问道:“陈,我现在的身体素质怎么样?” “不怎么样。” 陈哲给予了较为客观的评价。 “也如我所料。” 杰姆尼点了点头,看著他,忽然问:“陈,你呢?” 陈哲回过头。 “我什么?” “你练过吗?”杰姆尼从地上爬起来,走到他面前,“那天晚上,那三个人,毕竟是你一个人放倒的,一拳把那个人的牙都打掉了。你肯定练过。” “这倒是没有。” 陈哲掀开自己的衣服,“你看了不就知道了。” 杰姆尼的目光落在他身上,愣住了。 格子衬衫下面,是一具偏瘦的身体。肋骨隱约可见,腹肌有轮廓,但很薄,不是那种健身房练出来的厚实腹肌,更像是瘦出来的线条。 维度也就比杰姆尼身上那点肌肉要大那么一点,看上去只是同一个量级。 “这?”杰姆尼瞪大眼睛。 陈哲没说话,把衬衫重新穿上。 杰姆尼盯著他,脸上的表情从震惊变成了困惑,又从困惑变成了难以置信。 “不是……”他张了张嘴,“你那天晚上一拳把人打趴下,用的就是这副身体?” 陈哲扣上扣子,没理他。 杰姆尼绕到他面前,盯著他的脸。 “陈,你老实告诉我,你是不是练过內功?就是那种中国功夫里的內功!” 陈哲瞥了他一眼。 “你电影看多了。” “那你怎么……”杰姆尼比划著名,“那你怎么有那么大力气?” 陈哲想了想。 “发力方式不一样。”他说,“和神经有点关係。” 杰姆尼愣了一下。 “神经?” “神经募集能力。”陈哲说,“肌肉本身能发多少力,和你真正能发出多少力,中间差的就是神经募集。有些人肌肉很大,但发力的时候只能用出百分之二三十。有些人看著瘦,但一发劲,能用出百分之七八十。” “也就是说,其实你还没有正式锻炼过?”杰姆尼看著陈哲的神態有点怀疑。 “差不多。” 陈哲点了点头,他可以说是一点没有进行系统训练,提升空间较大。 而实际上,掌握了cqc近身格斗技巧的人,几乎等同於每个人都拥有和他现在一样的神经募集能力,因为陈哲能看到自己的技能,所以才不会那么自恃清高。 毕竟,他现在的cqc格斗技的等级,也只有lv1而已。 杰姆尼思索片刻,“也就是说你也要开始练了?” “对。” “顺便当我的教练?” “这倒是不必。” “那……一起练?”杰姆尼想了想,问。 “我就是要说这个。” 陈哲缓缓把手搭在茶几边,微微頷首。 陈哲自詡自己一个人健身估计是成不了多少气候的,一方面他不觉得自己有著杰姆尼那样能把自己练力竭的自制力,另方面陈哲也不打算去健身房里练。 目前陈哲的日子算是稍微有了点起色,先练一练徒手囚徒健身,等到有了钱之后,再去健身房里试试深浅。 …… 十二月里的一天很快过去。 伴隨著陈哲结束周日的家教,时间也就到了晚上八点。 窗外下著雨,布鲁克林的夜晚本来就暗,这会儿更是黑得透彻,只有对面那栋老公寓楼上还亮著几扇窗,橘黄色的光透出来,在雨幕里晕成模糊的一团。 陈哲穿著羽绒外套,听著沙沙的雨声,心情稍微有点紧张,倒不是为了对手,而是因为他还不知道自己现在的编程水平究竟到了什么程度。 “这些钱,明天得去银行兑入paypal帐號。” 陈哲望著抽屉里的现金,若有所思。 这些现金的份额大大小小,有二十美元的由罗德里格斯太太支付的,也有一些买东西时找零出来的几美分硬幣。 儘管美利坚也有著不可以拒收现金的法律,但是在绝大多数商铺里面,线上支付的普及度和便利性都是很强的,对陈哲来说,他也用不惯这些几分几厘的美钞,不如看余额来得直观。 最为重点的是,陈哲暂时还没法提现出自己油管频道里的平台余额,这就让他对於十二月的房租该怎么解决產生了些许疑问,有了这一笔做家教攒下来的现金,就能宽裕一点。 算是后备隱藏能源。 陈哲抵了抵手指,把抽屉合上,喝了一口白开水,电脑的蓝光映在面前,把他的脸照的惨白。 至於接下来要做的事情,就是约定好的决斗了…… 陈哲略作思索,看著桌边的耳机、麦克风一系列设施,深吸一口气。 下一刻,在youtube的界面上,codemaster_us的帐號开始了直播。 第五十二章 流量 codemaster_us的水平在圈內还是比较知名的,陈哲这几天也研究了一下对方的视频,目前是没有看出什么破绽来。 编程这东西终究和真正的內容领域不同,內容领域比如写作、vlog视频,很容易看出一个人水平的高低,眼界的深浅,而编程很容易变得圆融如意,阶段性的差別也就只有进阶和入门。 再往上看,也不是做视频的內容。 所以在真正开始出难题之前,谁也不知道彼此的水准。 至於业外对於圈內人士的排行,那就是纯纯的门外汉见解了,一个连代码都没写过几行的人,又凭什么去评判別人的键法。 隨著直播间的开启,屏幕上顿时出现一个白人男子的形象,看上去是个標准的美利坚红脖子,有著茂密得几乎遮盖了半张脸的络腮鬍和一件法兰绒灰色衬衫。 “晚上好,各位。”男人说著,目光瞥向下方的评论区。 【毛绒侦探:晚上好兄弟。】 【滑板杰克:老c,今天讲什么?】 “okay……让我们等待一下直播间的观眾,”他表现出蛮不在意的面容,“就如我昨天在群组里面和大家说过的,今天我们有一件事情要做,很简单,那就是和人约架。” “程序,也是战斗的一部分!把那个胆小鬼打得屁滚尿流!” codemaster_us躺在人体工学椅上,姿態放得很高,脸上呈现出一抹直播式的亢奋:“让我猜猜看那个哲思小鬼是不是不敢出来了?” “朋友们,答应我,如果他今晚始终不敢与我对线,那就去他的评论区,轰炸他。” 陈哲看著对方的面孔,不由感慨对方先前在私信里与自己聊天的那一口火气,不愧是美利坚红脖子。 不过陈哲在这观看对方的直播並不是怯战了,而是先琢磨一下对方这边的气氛如何,稍作思索之后,陈哲就打开了自己的直播间。 他的直播间一开始,两边的热度立刻开始上升! 【哲思的粉丝:这次怎么晚点了?现在都八点零一了,刚刚我还在c那边的直播间看了一会儿。】 【写到这里我希望读者记一下我们域名 看书就来 101 看书网,?0???????.??????超靠谱 】 【没有人类的皮肤:今天真的要和对面那个频道主直播pk?不会是剧本吧?】 “因为一些事情耽搁了时间,十分抱歉。” 陈哲把摄像头对准自己,戴著平光眼镜的面容出现在界面里,谈吐之间有著一份令人信服的中国程式设计师气质。 趁著现在两个直播间还没有牵上线,陈哲用小窗看著对面的直播,一边观看著两边的观看人数的增长量,出乎他意料的是,似乎因为他是新人频道主的缘故,粉丝的粘性很高,几乎是直接追上了对面直播间里的人数。 【庞科:感觉今晚会有好戏看了。】 【瓜子23:这两位都是我关注的博主,不过就我来看,应该是哲思频道的质量更高一些……】 陈哲微微一怔,这直播间里竟然还有一些中文id甚至人名闪过? 不过这也是他的预料之中了,毕竟陈哲在做视频之初就是看准了这方面中国学生的群体,自己的视频也算是做起来了,有这么一些人的粉丝构成不足为怪。 考虑到自己的受眾问题,陈哲顿时微微一笑,去掉英语的说话口音,说了一句中文梗。 “会贏的。” 而这一句话一出,陈哲这边的气氛也就更加燥热。 【???】 【不要说这种缺心眼的话啊。】 【这是什么意思?】 “好,那么现在让我们和codemaster_us连线。” 陈哲见到这上面反响热烈,顿时也不再犹豫,关掉了那一边的直播间小窗。 到了这会儿,订阅者体量的差距才体现出来,虽然是同一个量级,但是一万订阅者和九万订阅者的差距还是极大的。 陈哲这边的直播间人数才堪堪达到两百,对面的人数就到了六百个,而且看上去还有上升趋势。 只是陈哲从来就没有想过和对方比拼这个,今天他只是想看看自己的编程水平怎么样,不论是接受考题,还是出题,陈哲都有自己的一套应对措施。 半晌,陈哲打开直播间的后台,邀请“codemaster_us”作为自己的嘉宾,並点击允许加入。 codemaster_us的头像出现在屏幕上的时候,陈哲看了一眼右下角的时间。 20:03。 比约定时间晚了三分钟。 “晚上好,哲思。”codemaster_us的声音从耳机里传出来,带著一点直播特有的亢奋,还有那种刻意压低的沙哑,像是刚喝过酒,“终於捨得出来了?” 陈哲没说话,只是点了点头。 codemaster_us往后靠在椅背上,那张被络腮鬍遮住大半的脸上露出一个笑容。他身后的背景是一整面墙的编程书籍,码得整整齐齐,一看就是精心布置过的。 “让我看看……”他把脸凑近摄像头,眯著眼睛,像是在打量什么,“一万二粉丝?哦不对,昨晚看的时候还是一万一,现在又涨了点。不错嘛,新人。” 【c家军:哈哈,老c开始扎心了】 【代码猎人:新人瑟瑟发抖】 【pythonista:这波心理战可以的】 陈哲的屏幕上飘过几条弹幕,都是从对面直播间翻墙过来看热闹的。 他没理。 codemaster_us等了两秒,没等到回应,脸上的笑容僵了一下。 “怎么,不会说话?”他往后靠回去,两只手搭在扶手上,“还是说,你英语不太行?要不要我慢点说?或者咱们用翻译软体?” 他顿了顿,转头对著自己的摄像头,做出一个夸张的表情:“哦对了,你是中国人对吧?中国人学编程確实挺多的,不过大多数都是……”他比了一个手势,在空中划了划,“copy paste?” 陈哲依然没说话。 【字节:???这人在说什么】 【哲思的粉丝:种族歧视?】 【普通人铁匠:取关了,什么玩意儿】 【c家军:开个玩笑而已,別上纲上线】 【c家军:就是,中国人那么玻璃心?】 弹幕开始乱起来。 codemaster_us看了一眼弹幕,脸上的笑意更深了。他往前倾了倾身子,盯著摄像头。 “怎么,我说错了吗?”他摊开手,“你们中国人不是最擅长复製粘贴吗?github上那些中文注释的代码,十个有九个是从stack overflow上抄的。哦,还有那些外包项目,便宜是便宜,质量嘛……” 他摇了摇头,没说完。 陈哲这时候才开口。 “你说完了?” codemaster_us愣了一下。 陈哲的语气很平静,像是在问今天吃了什么。 “你说完了,”陈哲重复了一遍,“那我说两句。” 他顿了顿,目光落在摄像头上,仿佛穿透屏幕,直接看著对面那个人。 “你刚才那些话,我没听清。能不能再说一遍?” codemaster_us皱了皱眉:“什么意思?” “意思就是,”陈哲说,“你刚才说的那些,我没在听。因为不重要。” 他往后靠了靠,让自己的脸完全出现在画面里。 “你约我出来,说要切磋。我来了。你开场先喷五分钟垃圾话,我听著。现在你喷完了,咱们是不是该开始了?” codemaster_us的表情僵住了。 他张了张嘴,想说什么,但又咽了回去。 弹幕安静了一秒,然后炸了。 【c家军:???】 【c家军:这人不按套路出牌啊】 【哲思的粉丝:哈哈哈哈笑死,根本不在乎】 【代码猎人:有点东西,心理素质可以】 【pythonista:老c被噎住了哈哈哈哈】 codemaster_us的脸涨红了一点,被络腮鬍遮著,看不太出来,但从他的眼神能看出来,他有点恼火。 “行。”他坐直了身子,“你行。那咱们就正式开始。” 他清了清嗓子。 “规则很简单:每人出一道题,给对方十分钟时间。写完了跑测试,跑不过算输。先出题的人我,你没意见吧?” 陈哲点点头:“可以。” codemaster_us往后靠在椅背上,脸上又浮现出那种自信的笑容。 “好。那第一题——热身题,別紧张。” 他低头看了一眼手边的笔记本,然后抬起头。 “给定一个整数数组,写一个函数返回数组中所有偶数的和。但如果数组中有负数,则直接返回-1。” 他说完,往后一靠,双手抱在胸前,等著看陈哲的反应。 陈哲的脸上没有任何表情。 他低下头,双手放在键盘上。 屏幕共享打开了,所有人都能看见他的编辑器界面。 他开始打字。 ```python def sum_even_numbers(arr): “““ 计算数组中所有偶数的和。 如果数组中有负数,返回-1。 参数: arr:整数列表 返回: int:偶数和或-1 “““ if not isinstance(arr, list): raise typeerror(“输入必须是列表“) #检查是否有负数 for num in arr: if not isinstance(num,(int, float)): raise typeerror(“列表元素必须是数字“) if num < 0: return -1 #计算偶数和 total = 0 for num in arr: if num % 2 == 0: total += num return total ``` 打完,他停了一下,又补了几行。 ```python #测试用例 if __name__==“__main__“: #正常情况 assert sum_even_numbers([1, 2, 3, 4, 5, 6])== 12 # 2+4+6 assert sum_even_numbers([2, 4, 6, 8])== 20 assert sum_even_numbers([1, 3, 5])== 0 #有负数 assert sum_even_numbers([1,-2, 3, 4])==-1 assert sum_even_numbers([-1,-2,-3])==-1 #空数组 assert sum_even_numbers([])== 0 #包含0 assert sum_even_numbers([0, 2, 4])== 6 # 0是偶数 print(“所有测试通过“) ``` 他敲下回车,代码跑起来。 屏幕上跳出一行字:所有测试通过。 时间:1分47秒。 陈哲抬起头,看著摄像头。 “写完了。还有问题吗?” 【c家军:???这么快】 【代码猎人:还加了测试用例?】 【pythonista:这代码质量可以的,有docstring有类型检查】 【灰色轨道:就这?热身题而已】 【哲思的粉丝:对面出的题也太简单了吧】 codemaster_us的表情僵住了。 他盯著屏幕,好一会儿没动。 “你……”他张了张嘴,“你写测试用例干什么?” 陈哲看著他,眼神里有一点不解。 “测试用例不是应该的吗?”他说,“你出题的时候没说不要测试用例。” codemaster_us又噎住了。 弹幕又炸了一波。 【c家军:老c被反杀了哈哈哈哈】 【代码猎人:这波是专业对业余】 【pythonista:確实,正经写代码谁不写测试】 codemaster_us深吸一口气,把脸上的表情压下去。 “行。”他说,“第一题算你过了。现在轮到你出题了。” 陈哲点了点头:“那好,请接著。” 陈哲出了个类似难度的题目:“写一个函数,判断一个双精度浮点数的小数部分是否为0。如果是,返回true;否则返回false。” “这不就是正常浮点计算?坑点在0.1+0.2上吧……两分钟了,你看看我写的,设了个误差范围,应该没什么问题。”白人男子把界面上的內容投给陈哲,说。 “的確。” “中国人,我来出第二道题,给定一个字符串,找出其中第一个不重复的字符,返回它的索引。如果不存在,返回-1。” “这也很简单,先用一次遍歷统计频率,第二次遍歷找到第一个频率为 1的字符,结束。” …… 渐渐地,陈哲能明显感觉到对方的题目难度从越来越往上变得仿佛碰到了某个瓶颈,对方的应对越来越迟缓,而对於陈哲来说,却仿佛越来越轻鬆了。 大概也是因为陈哲在基础方面的题目没下多少功夫,反而在深入的知识上有著不少涉猎。 “你来!” codemaster_us在一次次的对拼中已经有点冷汗直冒,直播间的观眾里仅仅有一些水平不差的粉丝能跟得上两人的节奏,但是普遍吃瓜的人还有很多。 “我来么?”陈哲点头。 他低下头,想了想,然后抬起头。 “我的题是这样的。” 他顿了顿。 “写一个函数,输入一个字符串,输出这个字符串中每个字符出现的次数,按出现次数从高到低排序。如果出现次数相同,按字符的ascii码升序排序。要求时间复杂度不超过o(n log n),空间复杂度不超过o(n)。” 他说完,看著摄像头。 “十分钟。” codemaster_us的表情变了,倒也不是愤怒,纯属是有点……懵。 “就这?”他说,“这不就是统计字符频率然后排序?这有什么难的?” 陈哲没说话,只是看著他。 codemaster_us低下头,开始写。 一分钟,两分钟,三分钟。 他的眉头皱起来了。 四分钟,五分钟。 他开始刪代码重写。 六分钟,七分钟。 他的额头上开始冒汗。 八分钟,九分钟。 他写完了。 “跑测试。”他说。 代码跑起来。 屏幕上跳出一行红字:测试失败。 codemaster_us愣了一下。 他又看了一遍代码,改了改,再跑。 还是红字。 九分五十秒。 陈哲开口:“时间到了。” codemaster_us抬起头,脸上的表情复杂得像打翻了调料盘。 “你的测试用例是什么?”他问。 陈哲把自己的测试代码发到屏幕上。 ```python def test_char_frequency(): #基本情况 assert char_frequency(“hello“)==[(l, 2),(h, 1),(e, 1),(o, 1)] #出现次数相同的情况 assert char_frequency(“abcc“)==[(c, 2),(a, 1),(b, 1)] #空字符串 assert char_frequency(““)==[] #所有字符都不同 assert char_frequency(“abc“)==[(a, 1),(b, 1),(c, 1)] #特殊字符 assert char_frequency(“a a“)==[(a, 2),(, 1)] print(“所有测试通过“) ``` codemaster_us盯著屏幕,沉默了几秒。 然后他抬起头,看著陈哲。 “你……”他张了张嘴,“你刚才出的题,你心里有答案吗?” 陈哲点点头。 他把自己的代码发上去。 ```python from collections import counter def char_frequency(s): “““ 统计字符串中每个字符出现的次数,按出现次数从高到低排序。 出现次数相同的情况下,按字符的ascii码升序排序。 参数: s:输入字符串 返回: list:按(字符,次数)排序的列表 “““ if not isinstance(s, str): raise typeerror(“输入必须是字符串“) #统计频率 counter = counter(s) #排序:先按次数降序,再按ascii升序 result = sorted(counter.items(), key=lambda x:(-x[1], ord(x[0]))) return result ``` 他又加了几行测试,和刚才发上去的一样。 跑测试。 所有测试通过。 codemaster_us盯著屏幕,好一会儿没说话。 弹幕已经疯了。 【c家军:臥槽,这代码太优雅了】 【代码猎人:counter+sorted,pythonic】 【pythonista:而且考虑了空字符串和特殊字符】 【哲思的粉丝:这就叫专业】 【c家军:老c好像翻车了……】 codemaster_us的脸色变得很难看。 他深吸一口气,又深吸一口气。 “行。”他说,声音比刚才低了很多,“这一轮算你贏。下一轮——” “不用了。” 陈哲打断他。 codemaster_us愣了一下。 陈哲看著摄像头,语气很平静。 “你刚才的几道题出得太简单,我不觉得那是你的真实水平。这一题你写不出来,我也不觉得那是你的真实水平。”他说,“你今天状態不好,或者你根本没把我当回事。继续比下去没意义。” 他顿了顿。 “你之前说,输了就把付费视频下架,贏了给我推荐。现在咱们打个平手,我不需要你下架视频,你也不用给我推。这件事到此为止。” codemaster_us张了张嘴,想说什么,但又咽了回去。 陈哲看著摄像头,笑了一下。 “下次再约,好好准备。” 伴隨著陈哲这一边的黑屏,就只剩下codemaster_us错愕的面庞,以及哲思频道里变灰的头像。 对方的神色渐渐从错愕忿怒变得复杂,许久才长出一口气,和直播间的水友抱怨了几句,也就关闭直播间,闷脸结束了这个纷扰的晚上。 第五十三章 意外来客 翌日清晨,陈哲刚睡得朦朧,打开手机就见到自己这边的粉丝数量暴涨,打开油管一看,首页里立刻就呈现出自己昨天晚上的直播切片,播放量足有十万之眾。 距离圣诞节越来越近,天也亮的渐晚,现如今都七点了,外界看起来还是灰濛濛的蓝调时刻。 陈哲收起公寓窄小臥室里的窗帘,穿好衣服,再仔细地看著手机上的內容。 “这还真是意外收穫了。”陈哲若有所思。 按自己这种小频道主的体量,一期视频能有十万播放都是机缘巧合,现在这切片一个晚上就到了十万播放量,说是一战成名也不为过。 事实上,陈哲无意惹任何人,做得太绝容易让人难堪,本来就是抱著不会有多少流量的想法解决这一起事端的,然而就现在来看,效果意外的好。 现在陈哲的粉丝数量来到了惊人的1.4万。 一方面是系列视频带来的涨粉,另一部分则就是一些路人粉丝了。 而对面的codemaster_us也没有出现明显的掉粉,看样子是自己最后给他挽尊的结果,可以说的上是两全其美的计策。 “就是不知道有没有传到那个程式设计师的小群里。” 陈哲略作思索,不过就算传过去了也没事,这是迟早的事。 更何况做这一行也不是什么见不得人的事情,儘管最顶端的it工作者通常不会出来做视频,耗费时间精力,可陈哲自认自己现在也就是一个小v该有的水平,也就没有那么多说法了。 收拾好思绪,陈哲打开抽屉,把一系列零钱塞入口袋,洗脸漱口,准备给paypal帐户存钱。 美利坚的银行並不是收归国有的,所以一般来说都需要定期线下储蓄来保证资金安全,否则哪一天这些钱真成了虚擬货幣也不好说,这也是陈哲在和codemaster_us线上pk之前就考虑好的事。 这件事估摸著还有后续,只不过应该不是在这几天,陈哲最后欣赏了几秒不断增长的粉丝就关闭了电脑,走出了房间。 “陈,这么早就出去?” 杰姆尼也已经睡醒了,睡眼惺忪地问。 “对,给银行存点钱。”陈哲答。 “你提醒了我。” 杰姆尼的神色顿时变得严肃起来:“我的卡里没什么钱了,让我也跟著你一起去。” 昨天晚上的直播对他来说没有丝毫影响,因为早在陈哲开始直播之前,他就关上房门,大概在八点钟不到就睡了。 “算了吧,你又没有什么拿得出手的身份凭证,怎么存钱?”陈哲摆了摆手:“我好歹是个营业员,你不去上学的话还是继续蹲在公寓里得了。” “倒也是。”杰姆尼摇摇头,神色黯淡了下去。 …… 幸运panda中式快餐店。 今天生意看上去有些惨澹,老板娘一张年过六旬的东亚面庞上愁云密布,陈哲摊开双手,和她说了自己过来的目的。 “工作证噻?” 老板娘嘆了一口气:“档案柜里自己找去。” “多谢。”陈哲微微頷首,脱下营业制服。 “快点啦,人家不备菜的啦?”老板娘指指点点了几句,用下巴指了指储藏室,这才嘆著气走开。 这年景真是谁也不好做…… 陈哲望著眼下一幕,顿时若有所思,貌似不论是哪个国家,到了冬天,出门的人都比较少,这也就导致了线下实体店的日子都过得不算特別顺利,老板娘还能这么和和气气,已经算是心理强大。 陈哲不打算在这等待太久,拿了工作证就走,免得工时超出i-20签证的要求。 快餐店的储藏室不大,四五平米的样子,堆满了杂物,纸箱摞到天花板,里面装的是一次性餐盒、塑胶袋、调料包,墙角靠著一台老式冰柜,嗡嗡地响著,表面结了一层厚厚的霜。货架上的文件夹积满了灰,边角捲起,一看就是很久没人动过。 陈哲在货架前蹲下,从上到下翻了一遍。 第一个文件夹,空的。第二个,几张过期的採购单。第三个,员工合同,艾米丽的,日期是去年九月。第四个……他抽出第四个文件夹,翻开。 工作证夹在透明塑胶袋里,塑料封皮有点发黄,但照片还清晰。那是他刚来美国时候拍的,脸比现在圆一点,眼神里带著一点刚出国的茫然,头髮比现在长,刘海快遮住眉毛了。 “几次模擬,明明也就不到一个月的时间,看起来全然判若两人了。” 陈哲把工作证抽出来,塞进口袋,文件夹放回原处。 站起来的时候,他回头看了一眼那台老冰柜,冰柜上面贴著一张泛黄的纸条,手写的,字跡潦草。 “dont touch, bosss.(別动,老板的。)” “老板娘还有丈夫?” 陈哲微微一惊,想起老板娘的亚裔面孔,如果她有丈夫的话,为什么丈夫不陪著过来经营。 “是遇到了罗德里格斯太太类似的情况吗……” 陈哲思索许久,却也觉得並不可能,如果真的遇到了那种情况,对方就不可能到现在还安然无恙。 不知为何,陈哲的脑海里再度浮现出了本尼西奥的信物。 那一张刻著双头蛇杖的名片,在眼前熠熠生辉。 望著那一台冰柜,陈哲倒也没有动,推开门走出去。 吱呀。 今天店里没什么人,多了许多空桌,陈哲的目光在靠著窗外的空桌上停了一秒移开,走到收银台前,老板娘正低头按计算器,眉头皱著,嘴唇微微翕动,像是在算什么帐。 “工作证找到了。”陈哲说。 老板娘抬起头,看了他一眼,然后目光落在他手里的工作证上。 “嗯。”她点点头,“记得还。” “记得记得。” 陈哲模仿著唐人街华人的口音,和老板娘用几近方言的方式交流著,隨后就转身离开了快餐店,去往就近的花旗银行储蓄。 同一时间,布鲁克林区。 咚咚咚! 杰姆尼透过猫眼,只看到一个戴著墨镜的印度肤色白人站在门前,中指上戴著银制戒环,奇快无比地敲著。 他的瞳孔几乎是开始了地震,后背瞬间沁出一层冷汗。 为什么,陈哲刚刚出去,家里就有人找了上来?! 第五十四章 印尼 花旗银行的布鲁克林区分行在一栋玻璃幕墙的写字楼底层,门面不大,玻璃门擦得鋥亮,能照见人影,门口摆著两盆绿植,叶子无比油绿。 陈哲推门进去。 一股暖气扑面而来,混著淡淡的空气清新剂的味道。 大厅进门右边是一排自助柜员机,左边则是等候区,摆著几张皮沙发,茶几上放著几本財经杂誌,正对面是一排柜檯,玻璃隔断,里面坐著几个穿制服的工作人员低头处理业务,手上动作利落。 陈哲走到自助取號机前,按了一下,吐出一张小票,上面赫然写著b023。 前面还有两个人。 趁著这段时间,他在沙发上坐下,隨手拿起一本杂誌翻了翻。《福布斯》,封面是一个穿著西装的白人老头,標题写著“年度最具影响力人物”。 他翻了翻,没什么兴趣,把杂誌放回去。 “b021,3號柜檯。” 一个中年女人站起来,走向柜檯。 陈哲靠在沙发上,目光扫过大厅。 一个穿西装的白人男性正在柜檯前办业务,手里拿著一沓文件,表情严肃。一个老太太坐在另一张沙发上,手里攥著存摺,眼睛盯著柜檯的方向,像是在等什么人。还有一个年轻的拉丁裔女人站在自助柜员机前,皱著眉头,手指在屏幕上戳来戳去,像是遇到了什么问题。 “b022,1號柜檯。” 又一个站起来。 陈哲静静地等待著,这种事情就是不能急,经过了几次模擬,虽然没有真正的人生经歷,可陈哲在诸多技艺技巧的经验下,气质还是显得截然不同,有一些等待的人直勾勾地盯著陈哲看了起来。 好在来到这里的人和陈哲在油管上的受眾並不重合,要不然作为露脸做视频的小体量博主,被订阅者当街认出来还是有点尷尬的。 “b023,2號柜檯。” 陈哲站起来,走向2號柜檯。 柜檯后面坐著一个年轻的白人女性,金髮扎成马尾,制服衬衫熨得平整,胸口別著工牌:sarah。她抬起头,露出一个標准的职业微笑。 “早上好,请问办理什么业务?” 陈哲在柜檯前的椅子上坐下,从口袋里掏出那叠现金,放在檯面上。 “存款,存到paypal关联的帐户。” sarah点点头,目光落在那叠现金上。有二十的,有十块的,有皱巴巴的一美元,还有几枚硬幣。她用指尖拨了拨,数了数,然后抬起头。 “现金一共是三百七十八美元六十二美分,对吗?” “对。” sarah把现金收拢,放进手边一个白色的点钞机里。机器发出嗡嗡的声响,纸幣一张张快速通过,屏幕上跳出一串数字:378.62。 “需要存入哪个帐户?” 陈哲从口袋里掏出手机,打开paypal,点进帐户信息页面,把手机递过去。 sarah接过手机,看了一眼屏幕,然后在电脑上敲了几下。 “这个帐户是您本人的吗?” “对。” sarah点点头,继续敲键盘。她动作很熟练,手指在键盘上飞快地跳动,偶尔停下来看一眼屏幕,確认什么。 “请出示一下身份证件。” 陈哲把工作证递过去。 sarah接过来,看了一眼,又看了一眼他,然后低下头继续操作。她把工作证的信息输入电脑,又敲了几行,屏幕上弹出一个窗口。 “请在这里签字。” 她把一个电子签名板转过来,递上一支塑料笔。 陈哲握住笔,在板子上写下自己的名字。签完,他把笔放回去。 sarah看了一眼签名,点了点头。她把工作证还给他,然后从抽屉里拿出一张小票,在上面盖了个章,递过来。 “这是存款凭证,请收好。” 陈哲接过小票,看了一眼。上面印著日期、时间、金额、还有一串长长的交易编號。 “谢谢。” 陈哲微微点头,接下来,就只需要等两个工作日就可以了。 …… 下午两点,办完了一天的事情,陈哲带著凭证推开门扉,来到公寓之內。 然而眼前发生的一幕却让陈哲怀疑自己是不是走错了屋子。 客厅里多了一个人。 一个印度人,三十岁上下,皮肤黝黑,头髮浓密得像是戴了一顶假髮,鬢角修剪得整整齐齐,留著一把精心打理的山羊鬍,他穿著一件深灰色的高领毛衣,外面套著一件黑色的皮夹克,下身是牛仔裤和马丁靴,整个人看起来像是刚从某个机车俱乐部的聚会上下来。 他坐在沙发上,翘著二郎腿,手里端著一杯水,这玩意儿貌似是杰姆尼的杯子,陈哲认得那个缺了一个口的杯沿。 杰姆尼站在三米开外,背靠著墙,脸上的表情像是见了鬼。他看见陈哲进来,眼睛顿时瞪大了两圈。 “陈!”他的声音有点尖,“你可算回来了!” 陈哲的目光从杰姆尼脸上移开,落在那个人身上。 印度人放下杯子,站起来。他的动作很慢,像是在给陈哲足够的时间观察他。站起来之后,他伸出手,露出一个標准礼貌的笑容。 “陈哲?”他问。 发音很標准,几乎没有印度口音,中指上有著一枚银制的戒环。 陈哲思忖了片刻,没有对上这个印度人的话,而是看向了杰姆尼:“这位是温蒂太太给我们找的新室友?” “不,我不是室友,我来到这里只是来见你一面的。”还没等杰姆尼开口,印度人继续微笑著说:“我很快就会离开。” “噢,那就好。” 陈哲鬆了一口气,仔细看著对方的面孔,这人看上去確实是个印度人,如果是中东的话,那么在听对方的话的同时还得提防一下这人是会不会即刻爆炸。 一旁的杰姆尼此时也忍不下去了,对著陈哲说:“陈,这傢伙上午就来了,他说是互助会找来的人,我问他互助会是什么东西,他偏要说互助会的第一条规则就是不能提及互助会!” “你现在又提及了一次。” 印度人站起身来,目光在杰姆尼的身上徘徊,气氛陡然变得剑拔弩张起来。 陈哲也感到场面的气氛有点不太对,看准了客厅里的东西,隨时准备和眼前这个人干上一架。 第五十五章 谈话 “听著,杰姆尼,你先去房间里面,这件事我来解决。”陈哲思索著说,盯著眼前的印度男人。 杰姆尼顿时照办。 实际上,对於绝大多数的人来说,大学时期的学生体力都是不如步入社会的三十岁壮年人的。 三十到五十岁刚好处於平均寿命的一半,相当於动物的全盛时期,如果有锻炼经歷,对上肌肉仍在发育期的大学学生,一顿毒打之下將是全然的碾压。 陈哲不清楚对方作为收尸人,日常生活是在干些什么,但是考虑到这种人可能有钱去健身房,双眼的目光也就越发提防了起来。 杰姆尼立刻重重关上房门,如蒙大赦般地长舒一口气,陈哲看到对方立刻把门锁死,就知道把杰姆尼和眼前的这个人留在一个屋子里面是一种怎样的折磨了。 不过陈哲倒也有点无奈,杰姆尼这几天的健身和白练了一般,看样子如果有条件,还是得去搏击,更能激发出人的血性一点…… 良久。 “咔嚓。” 印度人扭了扭脖子,停止了声势,缓缓地坐了下来,重新坐在了沙发上。 陈哲並没有因此鬆懈,始终看著对方,扶著另一侧的沙发坐下。 气氛很快就平静下来。 印度人靠在沙发上,翘著的腿放了下来,双手交叠在膝盖上,整个人放鬆了许多。他朝陈哲点了点头,算是认可了刚才的处理方式。 “你朋友,”他开口,声音比刚才低了一点,“话有点密。” “他什么都不知道。”陈哲说,“我也不打算让他知道。” 印度人盯著他看了两秒,点了点头。 “很好。” 他往后靠了靠,目光在客厅里扫了一圈——那扇新装的门,墙角堆著的工具箱,茶几上陈哲那台老旧的thinkpad,还有地上还没来得及擦乾净的汗渍。 “住得挺朴素。”印度人说。 陈哲没接话。 印度人收回目光,重新落在陈哲身上。 “我叫阿卡什。”他说,“你可以这么叫我。” 陈哲点点头。 “陈哲。” “我知道。”阿卡什笑了笑,露出一口整齐的白牙,“弗兰克跟我提过你。中国人,被加拿大人盯上了,需要收尸人。” 他顿了顿,目光在陈哲脸上停了一秒。 “是你吧。” 陈哲没说话。 阿卡什盯著他看了几秒,忽然笑了。 “放鬆点。”他说,“我不是来杀你的。真要杀你,我早上就动手了,不会等你回来。” 他说得很平静,就像在说今天天气不错,不过陈哲听出来了这不是玩笑。 在美利坚,杀人尚且逍遥法外的狂徒比比皆是,在这个监狱同样是私人企业的地方,只要有钱有关係,就算平地起黑帮也不见得nypd和fbi会说些什么。 “可以,那就让我们来聊聊正事。” 陈哲到这里才总算是轻鬆了下来,他本来以为收尸人至少不会这么锋芒毕露,但是美利坚自有国情在此,不论哪个阶级,可能都是硬核狠人。 先前对方话说的少,显得危险无比,但是现在一番交谈下来,虽然每一句话都藏著威胁,可好歹是拋到了明面上,这就让对方在陈哲这里变得不那么危险了。 而阿卡什显然不懂陈哲这个中国人在想些什么,只是仿佛做生意一般迅速在陈哲的脸上察言观色。 阿卡什端详著陈哲的面庞,突然一愣:“你这人的气质挺有意思,我好像在你这里看到了很多个人!” “是么?” 陈哲並不惊讶。 阿卡什盯著他看了几秒,往后靠在沙发背上,手指在膝盖上轻轻敲了两下。 “我干了十二年收尸人,”他说,“见过的死人比活人多,有些人死著的时候一眼就能看到底,有些人活著也很容易让人给看透,因为阅歷上的碾压,而你属於第三种。” “第三种。”陈哲点了点头。 “看不透的那种。”阿卡什的目光在他脸上扫过,“但有意思的是,你身上有太多人的影子。一个二十出头的大学学生,不应该有这些东西。” “弄得我好像能看透,也看不透你。” “当然,或许也就是我看走眼了,毕竟你好像一点也不惊讶。”阿卡什耸了耸肩。 “行,不说这个。”他换了个姿势,从口袋里掏出一盒烟,抽出一根,叼在嘴里,没点,“弗兰克说你想要收尸人。现在你见到了。想问什么,问吧。” 陈哲打量了对方几眼:“你真是收尸人?” 阿卡什叼著烟,没点,嘴角扯了扯。 “不然呢?我大老远从皇后区跑过来,就为了嚇唬你室友?” 陈哲想了想,换了个问法。 “收尸人都做些什么?” 阿卡什把烟从嘴里拿下来,在手指间转了两圈。 “字面意思。”他说,“有人死了,没人收,我收。有人快死了,需要人收,我等著收。有人死了之后还有些事没处理完,我帮忙处理。” 他顿了顿。 “当然,不只是收尸。有时候也收別的。” 陈哲看著他。 “比如?” 阿卡什把烟叼回嘴里,没点。 “比如人。”他说,“活人。” 陈哲的眉头微微动了一下。 阿卡什盯著他的表情,忽然笑了。 “別紧张。”他说,“我不是人贩子。我说的是那种——有人需要消失一段时间,不想被人找到,我可以帮忙安排地方。有人需要从某个地方被带出来,带不出来的那种,我也可以帮忙。” 他把烟又拿下来,在指尖捻了捻。 “收尸人不是杀人犯。”他说,“可以但没必要。对我来说,我只是……在死亡发生之后,做该做的事。” 陈哲沉默了几秒,忽然想到了一个问题。 “你是弗兰克请来的,那么你认识马库斯么?”陈哲问。 他问的这个马库斯,当然是已经死去的马库斯,而不是前几日冒用了身份姓名入室抢劫的“马库斯”。 阿卡什盯著他看了几秒,然后把烟收起来,放回烟盒里。 “弗兰克开口了。”他几乎是回忆一般地答非所问,“互助会的人开口,能帮就帮。” 隨后阿卡什顿了顿,才如梦初醒地接上陈哲的话题。 “你说得没错,我確实认识,他手下的马库斯,我收的。” 陈哲頷首:“这就说的通了,要不然弗兰克身为作家,哪有閒工夫干这种事?还去接见一个黑人?” “哈哈哈哈。”阿卡什笑笑。 “我们互助会里的一些事情確实都是有跡可循的,你这么想也確实能对的上,不过当时真正发生的事情还另当別说。” 第五十六章 收尸门道 “至少能推出个大概不是吗?”陈哲倒也没有太在乎真相,他已经得到了目的,那就是证明了阿卡什或许就是弗兰克手下最亲近的一个收尸人。 从中也能看出作家弗兰克对自己的重视了。 “挺会套话。” 阿卡什嘆了一口气:“那你究竟想说点什么,就从这里开始吧,我的一天时间还是很宝贵的。” 陈哲点头:“好,我想问你认识几个黑帮?” 气氛骤然一滯。 阿卡什愣了一下,隨后笑了。 他把那根始终没点的烟从烟盒里又抽出来,叼在嘴里,这次没拿下来:“你这问题有点意思。” “几个黑帮?”他重复了一遍这个问题,往后靠在沙发背上,目光在陈哲脸上停了两秒,“你问这个干什么?” “想知道你的履歷够不够硬。”陈哲用了点激將法,身体靠后仰倒。 实话实说,他一直对这么个阿三没什么好印象, 阿卡什盯著他看了几秒,把烟拿下来,在手指间转著。 “行。”他说,“那我给你数数。” 他伸出左手,开始掰手指。 “布鲁克林这边,俄罗斯人那帮,我收过三个。一个被捅死在巷子里,两个在下水道里找到的,泡得都认不出来了,跟史莱姆似的。” 陈哲的眉头微微动了一下。 俄罗斯人? “皇后区,多米尼加帮,我收过五个。有两个是帮派火併死的,三个是被自己人干掉的。”阿卡什继续掰手指,“布朗克斯,波多黎各人那帮,我收过四个。全是过量死的,有一个才十九岁,脸还没长开。” 他数完了,把左手摊开,五根手指全伸著。 “这还不算曼哈顿那些更乱的。”他说,“哈林区那边,黑人帮派,黑人穆斯林集团、五教者、义大利裔紫帮,我收的更多,懒得数了。” 陈哲沉默了几秒。 阿卡什看著他,嘴角扯了扯。 “怎么,嫌少?” 更新不易,记得分享101看书网 “不是。”陈哲说,“我只是在想,这些黑帮真实存在么?” 阿卡什愣了一下,然后哈哈大笑。 笑声在逼仄的客厅里迴荡,惊得窗台上那只不知道什么时候落上去的鸽子扑棱飞走,杰姆尼的房门紧闭著,可也能听见里面有什么东西掉在地上的声音,咚的一声。 阿卡什笑够了,把烟叼回嘴里。 “你这个问题问得好。”他说,“但我能告诉你,是真的。” 他顿了顿,目光落在陈哲脸上。 “我只收死人。”他说,“活人的事,我不掺和。” 陈哲点了点头,这些黑帮之中確实是有些耳熟能详的,而哈林区本身也是美国黑帮文化最猖獗的地带,其中最具传奇色彩的莫过於有“哈林教父”之称的邦皮·詹森(bumpy johnson),他在20世纪中期统治当地近40年,其经歷也被拍成了知名美剧《哈林教父》。 更为重点的是,阿卡什是互助会找来的人,陈哲本来也没有什么好怀疑对方身份的。 阿卡什继续说:“那些帮派,他们互相杀来杀去,死人了,总得有人收吧?警察不管,殯仪馆不接,家属不敢来。这时候就需要我这样的人了。” 他把烟从嘴里拿下来,在空中划了划。 “我收尸,不问原因,不问身份,不报警,不乱说。收完就走,钱货两清。时间长了,那些帮派就知道有这么个人。有事的时候,他们会主动找我。没事的时候,他们不会动我。” 他盯著陈哲的眼睛。 “因为动我没意义。”他说,“杀了我也改变不了什么。而且万一哪天他们自己死了,谁给他们收尸?” 陈哲若有所思地点了点头。 “中立。” “对。”阿卡什说,“中立。不站队,不惹事,不沾血。这就是收尸人的活法。” 他往后靠了靠,把烟叼回嘴里,没点。 “你刚才问那几个黑帮,我数给你听了。现在换我问你。” 他盯著陈哲。 “你惹的那个加拿大人,什么来头?” 陈哲看到对方把自己包装得这么好,顿时也有点无奈,若不是他知道收尸人本身也是个需要打点警方关係的职业,恐怕还真被对方幌弄了过去。 黑帮不是懒得动,一般来说也是不敢动的。 警方就是美利坚最大的黑帮。 不过陈哲也没有什么拆穿他的想法,只是缓缓地说:“一个做冰毒的,手底下的人应该规模不大,听说只要是三十多人的小帮派。” 阿卡什听著,表情没什么变化。 “就这些?” “就这些。” 阿卡什点了点头,没再问。 陈哲看著他,忽然问:“你认识他?” “不认识。”阿卡什说,“但我听说过。” 陈哲等著他继续。 阿卡什把烟从嘴里拿下来,在手指间捻了捻。 “东威廉斯堡那片,近两年冒出来一个加拿大人,很谨慎,从不在公开场合露面,有什么事都是通过中间人传话。他手下的人大多是黑人,也有几个白人,退伍兵、帮派分子、假释犯,什么人都有。他们主要做冰毒,也做点別的。” 他顿了顿。 “据说那个加拿大人跟边境那边有联繫,货是从墨西哥进来的。” 陈哲若有所思。 “你確定?” “不確定。”阿卡什说,“听说的。但听说这种事,往往有几分真。” 陈哲深吸一口气:“那也很有可能了。墨西哥向来是毒贩聚集地,就算是真的也不为错。” 在美国本土有个实验室,和在墨西哥有货源,这两者並不衝突。 阿卡什看著他,忽然问:“你跟他有什么仇?” “没有。” 阿卡什的眉毛挑了一下。 “没有仇,他派人闯你家?” “他需要人。”陈哲说,“再加上,我和与他有仇的人有关係。” 阿卡什盯著他看了几秒,然后点了点头。 “明白了。”他说,“他想拉你入伙。你没答应。他就想用点手段逼你答应。结果你把他们的人送进了局子。” 陈哲摆了摆手:“不是这么回事。” 阿卡什站起来,走到窗边,背对著他,看著窗外那条灰扑扑的街道:“那意思就是说,和你猜测我与弗兰克一样,刚刚这件事也和真实大相逕庭。” 然后他转过身,看著陈哲。 “你打算怎么办?” 陈哲看著他,一字一顿地说:“我需要一个收尸人。” “为你收尸?” “不是。” “为他们收尸?” “也不是。” 阿卡什盯著他看了几秒,然后走回沙发边,坐下。 “那你需要收尸人干什么?” 陈哲想了想,换了个问法。 “如果被黑帮盯上了,而且没办法通过搬家解决,该怎么处理?” “这个问题,”他轻声说,“我干了十二年收尸人,见过各种各样的解法。” 他往后靠了靠,翘起二郎腿。 “最简单的,花钱消灾。找人当中间人,递话过去,愿意出多少钱,这事算了。黑帮也是要吃饭的,有钱拿,他们懒得跟你耗。” 陈哲摇了摇头。 “我没那么多钱。” 阿卡什点点头,继续说。 “第二种,找人撑腰。找个比他们更狠的,跟他们说,这人我罩了,动他就是动我。他们掂量掂量,可能会收手。” 陈哲想了想。 “互助会?” “互助会不是这个路数。”阿卡什说,“互助会是互相帮忙,不是跟黑帮硬刚。你让互助会的人帮你打架,他们不会干的。” 陈哲沉默了几秒。 “第三种呢?” 阿卡什盯著他看了几秒,然后压低了声音。 “第三种,让他们找不到你。” 陈哲的眉头微微皱起。 “你不是说搬家没用吗?” “我说的不是搬家。”阿卡什说,“我说的是——消失。” 他顿了顿。 “不是真死,是让人以为你死了。换身份,换地方,换生活方式。以前的你不存在了,黑帮找谁去?” 陈哲盯著他,思绪起伏。 阿卡什看著他,忽然笑了。 “你別多想。”他说,“这种事我干过。不是收尸,是帮人消失。有些人惹了不该惹的,不消失就会死。我就帮他们安排。” 他顿了顿。 “当然,收费不便宜。” 陈哲沉默了几秒。 “还有別的办法吗?” 阿卡什想了想。 “有。” “什么?” 阿卡什看著他,一字一顿地说。 “让他们先死。” 客厅里安静了几秒。 陈哲盯著他,没说话。 阿卡什耸了耸肩。 “开玩笑的。”他说,“你別当真。” 他站起来,拍了拍身上並不存在的灰。 “行了,今天聊得够多了。”他走到门口,推开门,回头看了陈哲一眼。 “你的情况,我会跟弗兰克说。互助会不会直接帮你打架,但有些事,我们可以帮你留意著。那个加拿大人那边有什么动静,我儘量第一时间告诉你。” 他顿了顿。 “至於你自己,这段时间別乱动。该干嘛干嘛,贸然安静下来反而会让人起疑心,別去打草惊蛇就好。” 陈哲站起来。 “谢谢。” 阿卡什摆了摆手。 “別谢我。要谢就谢弗兰克。他难得开口求人,我给你面子。” 他推门出去,走了两步,又停下来,回头看著陈哲。 “对了,你那个室友?” “他什么都不会知道。” 阿卡什点了点头,转身走了。 脚步声在楼道里渐渐远去,然后是一楼门被推开又关上的声音。 陈哲站在门口,盯著那扇新装的门,好一会儿没动。 杰姆尼的房门吱呀一声打开了,杰姆尼探出半个脑袋,脸上的表情复杂得像打翻了调料盘。 “走了?” “走了。” 杰姆尼从房间里钻出来,走到陈哲身边,盯著那扇门。 “那傢伙到底是谁?” 陈哲看了他一眼。 “你不认识的人。” 杰姆尼张了张嘴,想说什么,但最后还是咽了回去。他转身走回客厅,在沙发上坐下,盯著天花板发呆。 第五十七章 异动 输入姓名:阿卡什·辛格。 陈哲手指在笔记本电脑的键盘上跳动,几下把这个並不怎么复杂的名字打在社工库中,採用改进过的深层检索。 没过多久时间,几行简朴的信息就出现在了陈哲的视野里。 一个三十二岁的印裔成年男性,毕业於正统合规的纽约州立大学布法罗分校医学系,曾在校橄欖球队中充当前锋,到后面就是一无所有了。 陈哲望著仅仅浮现了几秒钟就销声匿跡的信息,倒也並不感到意外,毕竟他虽然自詡水平很高,但也就是个在网络上教教別人计算机技术的博主罢了。 这种正儿八经的州立大学医学生,或许老师就是纽约朗格尼医学中心的医疗部长,人脉上有所打点,再加上对方出来做了收尸人,更能確认下来这么一点。 “一般来说,如果没有扯上事,可能这种人就是一个快乐教育下的美国人一辈子有交集的最大的人物。” 陈哲满足了窥私慾之后,若有所思,滑动触控板把网页关闭。 转而打开了模擬器。 “今天见了收尸人,应该能刷新模擬次数了吧……” 陈哲心情期待,程式设计师方面的事情大概能够算是告一段落,震那么接下来,就是重新试著再开一把老兵线路! 他迅速装填上了“lv1cqc格斗技”和“lv1持枪经验”和“lv3献血经验。” 对於兰博的这一条线,陈哲认为潜力其实是很大的。 一方面是因为退伍老兵的身份能牵扯出很多东西来,而有了献血经验之后,说不准事情能出现一点转机,另一方面是这个模擬本身被丹尼斯盯上,算是死档,这种向死而生的意志反而能让陈哲在有限的范围內打探更多的情报。 更何况即便是通过他来训练自己的格斗技巧也是不错的,陈哲看来每个技能之间虽然有差距,但是从lv1进步到lv2不成难事,说不定一次模擬之下可以让持枪经验和格斗技巧一齐升级,这样也能给自己增加一点筹码…… 熟悉的白色界面出现在眼前。 然而陈哲却倏然一愣,按下fn+f5刷新了几遍电脑。 【模擬次数:0】 没有增加模擬次数? …… 礼拜三的社区大学难得出了个晴天。 阳光从稀疏的云层里斜著打下来,照在长岛商学院那栋褪色的写字楼上,给灰扑扑的外墙镀上一层淡金色。走廊里的日光灯还是老样子,几根坏的,忽明忽暗地闪著,但在阳光的映衬下,那些闪烁显得没那么刺眼了。 陈哲穿过走廊,推开教室的门。 教室里人不多,稀稀拉拉坐著十几个学生。后排那几个熟悉的面孔还在——安东、列夫,还有几个叫不上名字的俄罗斯人,凑在一起低声说著什么。 但谢尔盖不在他们中间。 陈哲的目光扫过那几个人,然后落在靠窗的一个座位上。 谢尔盖坐在那儿。 他一个人,背靠著窗户,阳光从玻璃照进来,把他整个人笼罩在一片刺眼的光晕里。他低著头,两只手交叠著放在桌上,盯著桌面,一动不动。 陈哲在他斜后方找了个座位坐下,把背包放在桌上。 他的目光不动声色地扫过谢尔盖。 那个俄罗斯人今天穿了一件黑色的卫衣,帽子扣在头上,帽檐压得很低,几乎遮住半张脸。从陈哲的角度,只能看见他半边侧脸——脸色比平时白,嘴唇有点乾裂,眼眶下面有两道很深的青紫色,像是好几天没睡过觉。 后排的安东站起来,走到谢尔盖旁边,拍了拍他的肩膀。 “谢廖沙?” 谢尔盖没动。 安东愣了一下,又拍了拍。 “嘿,哥们儿,你怎么了?” 谢尔盖这才抬起头。 他的动作很慢,像是脖子生了锈。转过脸的时候,陈哲看见了他的眼睛。 那双眼睛让陈哲的手指微微紧了一下。 空洞。 瞳孔放大了一点,目光没有焦点,像是看著安东,又像是透过他看著別的地方,某个安东看不见的地方。 安东显然也注意到了。他的表情变了变,往后退了一步。 “谢廖沙,你……” 谢尔盖盯著他看了两秒,然后摇了摇头。 “没事。” 他的声音沙哑,像是砂纸磨过木板。 安东张了张嘴,想说什么,但最后还是咽了回去。他转身走回后排,坐下来,和列夫交换了一个眼神,两个人压低声音说著什么。 陈哲收回目光,翻开笔记本。 特尔教授走进来,腋下夹著那本翻旧了的教材,手里端著那杯永远喝不完的咖啡。他走到讲台上,把教材放下,目光扫过教室,清了清嗓子。 “今天我们讲供应链管理中的风险控制……” 陈哲开始记笔记。 但他的余光一直落在谢尔盖身上。 一堂课下来,谢尔盖始终没有动过。他没有记笔记,没有看黑板,甚至没有抬起头。他就那么坐著,盯著桌面,像一尊雕塑。 下课铃响。 学生们站起来,三三两两往外走。后排的安东和列夫走到谢尔盖身边,低声说了几句什么。谢尔盖摇了摇头,他们便走了。 教室里很快只剩下陈哲和谢尔盖两个人。 陈哲把笔记本合上,塞进背包里,站起来。 走到门口的时候,他停了一下。 谢尔盖还坐在那儿,一动不动。 陈哲转过身,看著他。 “谢尔盖。” 谢尔盖的肩膀微微动了一下。 他抬起头,转过脸,看著陈哲。 那双眼睛还是那样空洞,但比刚才多了一点什么——像是在辨认,在回忆,在努力把眼前这张脸和记忆里的某个形象对上號。 过了几秒,他的嘴唇动了动。 “陈。” 声音还是沙哑的,但比刚才清楚了一点。 陈哲走过去,在他旁边的座位上坐下。 “你去了?” 谢尔盖盯著他看了几秒,然后点了点头。 “去了。” 陈哲没说话。 谢尔盖低下头,盯著桌面。 沉默了很久。 然后他开口,声音很低,像是在自言自语。 “那地方……不对。” 陈哲的眉头微微皱起。 “什么不对?” 谢尔盖没有回答。他抬起头,看著窗外。阳光照在他脸上,照出那两道青黑的眼袋,照出乾裂的嘴唇,还有眼睛里那种说不清的复杂。 “有人死了。”他说:“我不得不说。” 第五十八章 墨西哥药店 陈哲的手指微微紧了一下。 “谁?” 谢尔盖摇了摇头。 “不知道。不认识。一个白种人/美国人/本地人……躺在地上,已经死了。” 他切换了很多个词汇,眼眸中冷汗直流。 “他们让我看著他。说,看见了就当没看见。说,走了就別再回来。” 谢尔盖曾经见过许多黑人死去,再不济就是像自己这样的斯拉夫白人,因为在他看来这些黑帮对自己人下手比较少, 陈哲沉默了几秒。 “然后呢?” “然后我走了。”谢尔盖说,“我没回头。我不敢回头。” 他的声音开始发抖。 “但我一直在想那个白人,他躺在那儿,眼睛睁著,盯著天花板。我不知道他是谁,不知道他怎么死的,不知道他为什么会躺在那儿。” 他转过头,看著陈哲。 “你知道那种感觉吗?看见死人,然后假装没看见。假装什么都没发生。然后回家,睡觉,第二天醒来,以为自己忘了。但你没忘。” 陈哲盯著他。 “你忘不了。” 谢尔盖点了点头。 “忘不了。” 他低下头,两只手攥紧,又鬆开,又攥紧。 “我昨天晚上没睡著。闭上眼睛就看见那个人,躺在那儿,眼睛睁著,盯著我。我不认识他,但他盯著我。” “我不得不说这些。”谢尔盖喃喃自语:“他们估计也是料定了我会说出去,所以我就告诉你了。” “没什么,我本来也在这些事情当中。” 陈哲看到对方前几日还姿態倨傲,到了现在就已经有了点精神失常的样子,不由感慨真正的犯罪在美利坚人民的眼里原来是这样的:“我走了。” 谢尔盖没有应答,这一幕却落在了门外谢尔盖的朋友们眼里,他们再次看向从教室里出来的陈哲,眼神里儼然充满了敬畏。 虽然没有听到这两人低声说些什么,可是从这表现来看,谢尔盖变成现在这样,陈哲绝对脱不了干係。 …… 陈哲回到公寓的时候,天已经快黑了。 布鲁克林的傍晚总是来得很快,太阳一落到那排红砖楼后面,整个街区就笼罩在一片灰蓝色的阴影里。路灯还没亮,街上没什么人,只有几只野猫在垃圾桶旁边翻找食物,看见他走过来,抬起头看了一眼,然后继续低头翻。 他推开楼门,爬上三楼。 那扇新装的门关得严严实实,门锁拧起来很顺滑,咔噠一声就开了。 屋里没开灯,只有杰姆尼房间的门缝里透出一点光,还有他锻炼时粗重的喘息声。客厅里的那台二手thinkpad合著,屏幕黑著,电源灯一闪一闪。 陈哲走到自己房间门口,推开门,进去,把门带上。 他从床底下拖出那个落了一层灰的行李箱,拉开拉链,摊在地上。 然后他开始收拾东西。 两件换洗的t恤,一条牛仔裤,一条运动裤,內衣袜子塞进侧袋。充电器,充电宝,那台老旧的thinkpad——他犹豫了一下,还是把它装进背包里。牙刷,牙膏,一小瓶洗髮水,都是从便利店买的旅行装。 杰姆尼的房门吱呀一声开了。 “陈?” 陈哲没回头,继续往箱子里塞东西。 杰姆尼走到门口,靠在门框上,看著他。 “你干嘛?” 陈哲没说话。 杰姆尼盯著他看了几秒,眉头皱起来。 “你要出门?” 陈哲还是没说话。他把那件格子长袖衬衫叠好,放进箱子,隨后在手机上给杰姆尼转了四百二十美元过去。 杰姆尼的目光落在手机屏幕上的转帐,愣了一下。 “这么多钱?” 陈哲没理他,再看了一眼自己的银行存款,这会儿竟然还剩下四位数。 作为youtube的博主,陈哲的上一期付费视频的稿费,税后也总算是到了帐。 按照一个月一期付费视频的稳定频率,这也算是某种固定收入了,足以缓衝陈哲生活中的一些事情。 然后他转过身,看著杰姆尼。 “转去的钱,这个月的房租。”他说,“我可能晚几天回来,你帮我交给温蒂太太,多的二十美元是给你的。” 杰姆尼盯著他,脸上的表情变了。 “你要去哪儿?” 陈哲没回答。他走回行李箱边,把拉链拉上,拎起来掂了掂。不重,二十多斤,一个人提著没问题。 杰姆尼走过来,站在他面前。 “陈。”他的声音比刚才低了一点,“到底怎么回事?” 陈哲看著他,沉默了两秒。 “有点事要处理。”他说,“明天就回来。最迟后天。” 杰姆尼盯著他的眼睛。 “什么事?” 陈哲没说话。 杰姆尼张了张嘴,想说什么,但最后还是咽了回去。他往后退了一步,靠在门框上,两只手抱在胸前。 “那个印度人?”他问。 陈哲摇了摇头。 “不是。” “那是谁?” 陈哲把行李箱拎起来,放在地上,拉著拉杆往外走。走到门口的时候,他停了一下,回头看著杰姆尼。 “別问了。”他说,“你什么都不知道,对你有好处。” 杰姆尼的表情僵住了。 陈哲推开门,走出去,把门带上。 身后传来杰姆尼的声音,隔著那扇新装的门,闷闷的。 “陈!你他妈到底要去哪儿?” 陈哲没回答。 “那我……那我把钱还你!” 杰姆尼骂骂咧咧,陈哲听到手机里传来提示音,不过他也没打开看。 他拖著行李箱走下楼梯,脚步声在空荡荡的楼道里迴响。那根坏掉的日光灯管还在闪,滋滋地响,一下一下,像在倒计时。 走出楼门的时候,他抬头看了一眼天空。 天已经完全黑了。几颗星星掛在稀疏的云层后面,若隱若现。街对面的那栋老公寓楼上亮著几扇窗,橘黄色的光透出来,在夜色里晕成模糊的一团。 他掏出手机,打开订票软体。 明天早上七点,飞圣迭戈的机票,往返,三百七十七美元。 他点了確认支付。 为了確保自己不是那么坐以待毙,陈哲决定去那边试试机会。 也巧,他確实有著本尼西奥的信物,还没给对方本人看过。 —— 边境的剧情不会太久,大概五章左右结束,应该会是一个比较有趣的桥段。 这是这本书在新书榜上呆著的最后一周了,求月票,求追读。 明天有加更。