第77章 线断(4.1k大章)
    陈哲思索了一会儿,突然又觉得这么问不太恰当,换了个姿態。
    陈哲把杯子放下。
    “我想看你手机。”他说。
    书虫的眉头微微皱了一下。
    “什么?”
    “你手机。”陈哲说,“你身上有监听设备的可能性不大,但你的手机可能已经被监控了。不是警察的手段,是更隱秘的那种。有人想通过你找到斯坦威留下的东西。”
    书虫盯著他看了很久。
    他从口袋里掏出手机,放在桌上,屏幕朝上。
    陈哲看了一眼,iphone,老款,屏幕有一道细小的裂纹,从左上角斜著划到右下角。
    陈哲虽然没有侦探方面的经验,没法直接从这些细节窥探到书虫的生活常识,不过也能从这里看到一些端倪,这个痕跡大概是对方坐车或者出行的时候不小心压破的。
    “我能不能拿起来看看?”他问。
    书虫点了点头。
    陈哲拿起手机,翻到背面。外壳是黑色的,磨损得很厉害,边角的漆已经磨掉了,露出底下灰白色的塑料。他用指甲扣开卡槽,sim卡在里面,標准尺寸。他把卡槽推回去,翻到正面,打开设置,看了一眼运营商信息。
    “你用的是哪家运营商的卡?”
    “t—mobile。”
    陈哲点点头。
    他把手机放下,从自己口袋里掏出那台二手thinkpad,打开一个命令行窗口,手指在键盘上敲了几下。
    书虫看著他的动作,没说话。
    几分钟后,陈哲把电脑转过来,屏幕对著书虫。
    “你的手机號,”他说,“在过去四十八小时里,被查询了七次。”
    书虫的表情变了。
    “不是通话记录,是位置查询。”陈哲继续说,“每次查询的源ip都不一样,但归属地都在维吉尼亚。不是在纽约。是有人在远程追踪你的位置。”
    书虫盯著屏幕上的数据,沉默了很久。
    “能查到是谁吗?”
    “查不到。”陈哲把电脑合上,“这个防护层级很高,不是普通黑客能做到的。但这种查询频率,说明他们还没有確定你的具体位置,只是在缩小范围。”
    他把电脑塞回背包里。
    “你现在住的地方暂时还安全,但你今天出来的路线回去的时候最好换一条。不要坐地铁,不要用手机导航,不要走平时走的路。”
    书虫看著他,眼神里略微呈现出一些审慎。
    “你是做什么的?”他警惕地问,“不只是程式设计师吧?”
    陈哲看著他,倒也觉得好笑。
    “一个写代码的,”陈哲摊了摊手,“恰好在网上认识了一些人,学到了一些东西。”
    “所以说,你前几天在本提出的那个问题下,刚好停在最后一步,也是为了隱藏?”
    “差不多吧。”
    书虫盯著他看了几秒,摇了摇头。
    “行。”他说,“我不问了。”
    在陈哲的注视之下,书虫方才缓缓坦诚地说出案子原委:“你刚才说什么案子,那我也就长话短说了。”
    “我应该是他们需要用到的人。”书虫凝重地说。
    “哦?”
    陈哲来了点兴趣:“继续。”
    “我的程序专精方面和你不太一样,你这种人可能之后就是搞算法的,但我於的东西比较低端,如果说主业,我更像是个金融顾问,算个公司內部的银行家。”
    “还有这种事。”
    陈哲还是第一次听说公司內部的银行家这么个字眼,就算是早就对美利坚的私营程度有所了解,这些字组合在一起还是让他有些听不懂了。
    “我在一家金融科技公司做后端,”书虫长话短说,“主要负责支付系统的风控模块,用户刷信用卡的时候,系统判断这笔交易有没有欺诈风险。”
    “懂了。”
    陈哲思索了一会儿,心里面儼然有了答案,这恐怕是一起涉及到地方官僚的金融犯罪案,对方主管风险领域,也正是因为这么一点,对方是个绝佳的洗钱好手。
    但陈哲並不说出来,只是任由对方提及。
    毕竟在他的心中还有另外一个答案。
    “有人买通了本地的联邦调查局,因为在同等官职之下fbi比nypd更有公信力一点,本来他们不打算杀我家里的任何一个人,但是,斯坦威的身上有个东西让他们不得不出手,大概就是有关他们的资料吧。
    书虫嘆了一口气,语气显得闷然:“斯坦威有妻子和女儿,这就是这些人威胁我的筹码。”
    “所以,你对他的家人这么上心?”
    “不然呢?”
    “也对,毕竟朝夕相处,確实是这么个道理。”
    “是这样的,他们与我没有血缘关係,却也是我的家人,我不能弃他们於不顾!”书虫深嘶一口气,仿佛豁出去一般地说。
    “我懂我懂。”
    陈哲打了个哈哈,“气氛不要这么凝重,一上来就是要死要活,容易一语成讖。”
    “我激动了。”
    书虫听到这里,也立刻知道了收敛,平静了下来。
    陈哲喝完咖啡。
    陈哲查看了一下四周:“既然这样,今天就先到这里,改日再见。”
    “嗯。”
    书虫也不质疑陈哲的决定。
    “走了。”陈哲说。
    “再见。”书虫也站起身来,两人短暂地碰头之后,就离开了人声嘈杂的咖啡厅。
    熔冰期的天气尤为凛冽,街对面那家杂货铺的老板正站在门口铲雪,动作很慢,一铲一铲地把雪推到路边,堆成一个小丘。
    “事情似乎有些错综复杂。”
    陈哲若有所思。
    他心中的另一个答案,就是其实书虫在贼喊捉贼。
    查询ip地址的难度並不大,尤其是在美利坚这种网络安全防护程度极低的地方,明面上提出来可能触犯法律,可暗地里程式设计师玩的比谁都好。
    如果对方是早就知道这一点,而这一次会面从始至终都在和自己演戏,其实书虫这个人就是犯罪团伙的头目,那可不就是把自己玩的团团转?
    只不过这么来看,一来陈哲想要得到案件的进展,就必须得找书虫,二来从对方只言片语里拓展出来的线索,已经断绝。
    陈哲也曾想过事不关己高高掛起,只是他不允许自己的生活环境里,有超出自己掌控的东西。
    “只是他刚才的那种仿佛在託付我的眼神,又不似作偽。”陈哲回忆起书虫看向自己的神色,却是摇了摇头。
    缓解著这种情绪,陈哲从口袋里摸出手机,打开了自己的油管帐號。
    经过这么几天的运营,陈哲的订阅者数量也顺利地平滑达到了一个瓶颈,在2
    .3w的这个数目上。
    陈哲一般做视频都不是当天现做的,而是会预留一些存货,避免不时之需。
    而到了这个体量,陈哲的私信里也就多出了很多提问电脑程式知识的评论。
    他靠在街边广场的柱子上,隨手点开几条未读私信,拇指往下滑。
    第一条,来自一个叫“codingpain”的用户,头像是一张对著屏幕拍的后脑勺照片,光线很暗,看不清环境。
    【codingpain:频道主你好,我刚开始学python,想问一下为什么我的代码有时候跑得很快,有时候跑得很慢?同一个代码,同一个电脑,什么都没改。】
    陈哲想了想,打字回覆:
    【可能是后台程序占用了资源。windows自动更新、杀毒软体扫描、瀏览器標籤页太多,都会影响运行速度。建议跑代码之前打开任务管理器看一下cpu和內存占用,关掉不用的程序。另外如果你的代码涉及文件读写,硬碟的读写速度也会波动。】
    他发出去,继续往下翻。
    第二条,来自“newbie2024”,头像是一只橘猫趴在键盘上。
    【newbie2024:频道主,我跟著你的教程写到第六期,那个文件操作的例子我自己敲了一遍,运行的时候报错说“filenotfounderror”,但我明明把文件放在同一个文件夹里了。】
    陈哲看了一眼手机右上角的时间,继续打字。
    【检查三件事:1.文件名拼写对不对,包括大小写和后缀。2.文件真的在那个文件夹里吗?可以在代码里写一行importos;print(os.getcwd()),列印出当前工作目录,看看是不是你以为的那个文件夹。3.文件是不是被別的程序打开了,比如ecel。如果是,先关掉再试。】
    第三条,来自“lazycoder”,头像是一个卡通人物瘫在椅子上。
    【lazycoder:频道主,while循环和for循环到底该用哪个?我每次写循环都要纠结半天。】
    陈哲嘴角动了一下。
    【简单说:知道循环次数用for,不知道循环次数用while。比如遍歷列表、
    字符串,用for。比如等待用户输入、直到某个条件满足才停止,用while。当然两者可以互相替代,只是哪个更顺手的问题。】
    第四条,来自“noobmaster69”,头像是一个游戏角色的截图,解析度很低。
    【noobmaster69:频道主,我装python的时候勾选了“addpythonto
    path”,但还是不能在命令行里直接打python运行,显示“不是內部或外部命令”,怎么办?】
    陈哲把手机换到左手,右手打字。
    【打开命令行,输入“wherepython”,看看有没有输出路径。如果没有,说明path没配好。解决方法:卸载python重装,安装的时候注意看第一屏,下面有个“addpythontopath”的复选框,一定要勾。如果不想重装,可以手动去系统环境变量里加python的安装路径。】
    第五条,来自一个中文id,“今天也在努力写bug”。
    【今天也在努力写bug:老师,列表推导式看不懂,有没有什么好办法理解?】
    陈哲靠在柱子上,抬起头看了一眼天空。阳光从云层后面露出来,照在脸上有点刺眼。他低下头继续打字。
    【列表推导式可以拆成普通的for循环理解。比如[2for.inrange(5)],相当於:
    result =[]
    for. in range(5):
    result. append(2)
    先写成这种形式,跑通了再改回推导式。写多了就习惯了。】
    他继续往下翻。
    第六条,来自“juniordev—2025”,头像是一杯咖啡。
    【juniordev—2025:频道主,我写的代码能跑,但总觉得很乱。別人看我的代码都说看不懂。有什么建议吗?】
    【变量名要起得有意义的,不要用a、b、c。函数不要太长,一个函数只做一件事。加注释,不要写“这里加1”,要写为什么加1。代码是给人看的,不是只给机器看的。】
    第七条,来自“brokencode”,头像是一片蓝色的报错截图。
    【brokencode:频道主,我遇到一个bug,运行的时候报“indentationerror”,但我看不出缩进哪里有问题。】
    【检查空格和tab是不是混用了。python对缩进敏感,空格和tab不能混用。
    推荐用空格,一个tab展开成四个空格。大多数编辑器可以设置“將tab替换为空格”。打开显示空白字符的功能,就能看到哪些是空格哪些是tab了。】
    身为频道主,这种回答既能体现出陈哲的水平在线,另一方面处理一些这种浅显的问题,也能降低陈哲的皮质醇,减轻压力。
    陈哲稍微转移了一下思维,就感觉到自己原本沉重的心情也放鬆了不少,渐渐开始一边走一边回復,期许著这样能够杯水车薪地增加一些粉丝粘性。
    傍晚。
    布鲁克林区的斯科特街公寓,陈哲盯著玻璃上的裂纹,仿佛眼前还有帮派火併的事正在眼前上演,又摸了一把自己口袋里的枪,忽然看见窗上正在融化的一点点冰水,与远处电线桿上的湿雪一同落下。
    陈哲几乎没有什么犹豫的地方,回到家之后,就朝著自己的臥室走去。
    杰姆尼经过了陈哲的调解,现在已经能够生活自理,乐队也重新玩了起来,也正是因为这么个缘故,对方重新变得夜不归宿,一切都像是回到了刚刚开始的样子。
    而陈哲倒也希望这件事情牵扯的不大,自己一个模擬,就可以捋清。
    陈哲深吸一口气,打开笔记本电脑。
    这台电脑也该换了,只是刚巧现在是冬天,陈哲没必要纠结这些破事,周围的环境会自动为它降温,没过几秒钟的时间,熟悉的暗色背景就出现在了面前。
    陈哲点开右下角的图標,人生重开模擬器的最新界面出现在眼前。
    早上他就已经看过一遍。
    在白人探员找自己的时候,模擬器上,就已经增加了一次模擬次数。
    月底求一波月票,感谢。
    >