#14513 – Vtuber, That’s not my neighbour, and some history

昨晚在enn(https://www.youtube.com/@EnnSingsCh)玩That’s not my neighbour的stream里玩得很开心。其中一个环节是解析一段密码,然后回答加密的问题。

当时手边已经打开了攻略,所以已经知道了明文甚至是答案,然而看着enn和cleo(https://www.youtube.com/@AkariCleo)在现场想不到如何使用key来解开原文的时候,我忽然开始了一段短暂但非常有趣的旅程。

问题:

“The key is hide. EQEY QBXM MBIA MWXM XUES MCMS BQIX WUEW AHWY MV?”

1.算法

有4个字母的密钥,有4个字母一节的密文,答案感觉是要呼之欲出了,然而算法在哪儿?

当然在那个时候我已经知道明文了,至少我能记住一小部分,当时就在草稿纸上写了这么一些东西:

clip_image001

在开始做这个图之前,我其实对答案已经有一些预期:

①这是一个游戏,所以算法一定非常简单。

②密钥、密文和明文的形式高度提示一种需要用到加减运算的算法。

③我猜测从字母到数字的转换应该是简单的一一对应,而且很有规律,而不像真正的加密工具那样需要一个专门的转换表(如这个在冷战时期实际使用的对应表:(https://www.ciphermachinesandcryptology.com/en/table.htm))。

于是我首先写出了右边的对应表,然后选择一个字母对进行检测(写在左侧)。当密钥、明文和密文对齐而且将数字写在旁边的时候,答案简直在眼前直接跳出来了。

首先,将字母和数字对应起来。A=1,B=2……Z=26。

然后,将密文字母对应的数字减去密钥对应的数字。当产生负数的时候,将结果加上26。

最后用得出的数字通过对应表得出原文。

不过当我得出这个算法的时候两位已经决定放弃抵抗去直接看攻略了,所以这个计算本身也就失去了意义。

然而这个结果让我想到了一些以前听说过但是真的没有自己动手做过的事。

2.已知明文攻击(Known Plaintext Attack)(https://en.wikipedia.org/wiki/Known-plaintext_attack)

如果没有密钥的话,能不能解出来?

当然我是没办法擦除自己的记忆重头来过了,我也缺乏需要的数学能力,但是能不能试着模拟一下?

首先,还是需要有一些预期,不然需要考虑的事情太多了。

①还是那句话,这是个游戏,别太难。

②这肯定是英文(x,从标点符号看来,还是一个疑问句。

③四个一组。

最后这句话有点扯淡。大概是因为之前看了太多奇怪的书(比如这本:https://en.wikipedia.org/wiki/The_Code_Book)和相关资料的缘故,我觉得这样写的密文不怎么可能是ROT13(https://en.wikipedia.org/wiki/ROT13)那样的简单替换式体系。它更可能是一种手工的算术加密算法,类似Enigma(https://en.wikipedia.org/wiki/Enigma_machine)那样的东西,但是简单到可以用手工处理(比如这种加密方式的最早形式,Vernam Cipher:https://en.wikipedia.org/wiki/Gilbert_Vernam)。

当然了,更可能是因为我有了之前解释算法的时候的经验。

有了这些前设之后,就可以开始实验了。

首先还是建立一个最简单的字母和数字的替换表,A=1,B=2,如此类推,直到Z=26。

然后是选择一些可能会出现在英文问句首部的词语,最好是4个字的(只是因为密文是4个字一组),比如WHAT,WHEN,HAVE,DOES之类。

WHAT=23 8 1 20

WHEN=23 8 5 14

HAVE=8 1 22 5

DOES=4 15 5 19

接着,将密文的片段转换成数字:

EQEY=5 17 5 25

将两组数字对齐,然后逐个用明文减去密文:

WHAT-EQEY=(23 8 1 20)-(5 17 5 25)=18 -9 -4 -5

WHEN-EQEY=(23 8 5 14)-(5 17 5 25)=18 -9 0 -11

HAVE-EQEY=(8 1 22 5)-(5 17 5 25)=-3 -16 17 -20

DOES-EQEY=(4 15 5 19)-(5 17 5 25)=-1 -2 0 -6

这样就得到了4个可能的密钥。至于为什么用减法?因为我有前设经验(x。但是用加法的话,会发现很多数字都会超出1-26的区间,减法虽然会产生很多负数,但是这些负数的绝对值都在1-26之间出现,这样看起来更有可能还原出可用的密钥来(如果密钥本身是字母的话)。

将第二节密文转换成数字:

QBXM=(17 2 24 13)

将4个密钥叠加上去,再转换成字母。如果得数是负数或者0,加26,大于26,减26,这种算法能够让得到的结果回归到1-26的区间内:

(18 -9 -4 -5)+(17 2 24 13)=35 -7 20 8,转换后得到9 19 20 8,ISTH

(18 -9 0 -11)+(17 2 24 13)=35 -7 24 2,转换后得到9 19 24 2,ASXB

(-3 -16 17 -20)+(17 2 24 13)=14 -14 41 -7,转换后得到14 12 15 2,NLOB

(-1 -2 0 -6)+(17 2 24 13)=16 0 24 7,转换后得到16 26 24 7,PZXG

将两段猜测的明文拼合起来,可以发现,用WHAT作为可能明文计算出来的密钥产生出来的第二段明文拼起来是最像人话的:

WHAT ISTH

WHEN ASXB

HAVE NLOB

DOES PZXG

当然了,如果觉得这样还不够说服力的话,完全可以将第三段密文也进行上述同样的运算,再将得出的结果拼合起来再进行评价。因为这个算法的难度不高,慢慢实验总是可以的。

细心的人会发现以这种方法得出的密钥和游戏里提供的密钥(hide=8 9 4 5)不一致,不过这里使用的算法和游戏里的有区别(游戏里是密文减去密钥,这里是密文加上密钥),所以需要的数字会有一些不一样。

3.那这些事情又有什么关系?

确实,真的没什么意义(x,我的算法甚至很可能是错的。

但是我真的没想到会在一个晚上的时间将一个历史上非常重要的事件亲手模拟了一次。

前面提到,Gilbert Vernam发明了这种利用非进位加法进行加密的方式,他发现这种方式尤其适合用在密码机上。

1923年,德国吸取在一战期间密码被破译的教训,使用这个原理的改进版开发了Enigma密码机。

1932年,Marian Rejewski(https://en.wikipedia.org/wiki/Marian_Rejewski)在波兰与其他语言学家、数学家一起,通过对Enigma加密的密文进行大量的统计、语言学和数学分析,基本明确了Enigma的加密算法,而且可以通过对算法的分析将当天使用的密钥恢复出来,这样一整天的加密密文都可以被解密了。

在战争时期,能够破译这些加密的军事指令的意义不言而喻,因此Rejewski在德国入侵波兰的时候迅速被转移到安全的地方,而他破译Enigma的早期工作被交到了英国人手里。

英国情报机关在Bletchley Park(https://en.wikipedia.org/wiki/Bletchley_Park)的密码破译机关最终将Rejewski的部分研究结果和自身基于已知明文攻击得出的一些结论结合起来,完成了对Enigma密码的破译工作。这个工作一部分是得益于德国人写公文的坏习惯:他们总是会在一些固定的地方出现一些固定的词语,这些词语被作为已知的明文用来进行密码分析。

这些研究最终奠定了现代密码学的基础,促进了电子逻辑工具的进步,最终导致了通用计算机的发明和发展。

这是相当有趣的一段历程。

#13698 – Cyber Bag

上两个月在Youtube看到介绍Clockwork Pi DevTerm的内容,其中提到了一个概念:Cyberdeck。这个词指的是能够随时随地让用户接入到Cyberspace里进行各种活动设备,后来Maker圈子里用来形容各种自己从零件开始组装的小电脑系统,大部分都拥有多种连接网络或者收集数据的方式,有着各种各样的风格。

我并不能算任何Maker、Hacker或者Coder,但是我忽然觉得,我每天带着上班的那个包某种意义上就是一个包式的Cyberdeck嘛……

Concept

我很早就开始希望有能够跟着自己到处去的电脑,虽然我并不是喜欢离开自己家的人。第一次接触“移动电脑”的概念是在一本科普漫画里看到的一个类似Laser 128与一片平板显示器的合体。看起来是那么累赘,但对于一直都只能通过书籍和电脑发生关系的我来说,这东西有莫大的吸引力。

Pre-history Times

然而那个连自己的电脑都没有的年代,拥有一个可以携带的计算设备的难度可想而知。很长一段时间我手边最好的设备只是一台科学计算器,即使在那个时代一台可编程的科学计算器已经非常接近周围设备能力的顶峰,仅次于2000年代初期才出现的文曲星CC800——那玩意真正流行的时候我已经开始有笔记本电脑了,这是后话。

1998年我开始有自己的电脑,一台Pentium II 300MHz的机器,当然是一台台式机,同期这样配置的笔记本应该在2万上下,家里是永远不可能负担得起的(即使是现在我也没用过这种价位买回来的设备)。虽然这不算是随身设备,不过在这台电脑上积累的经验对我后来转用笔记本电脑之后很有帮助。经过很多次的升级和折腾,这台机器以66MHz FSB和256M内存的配置硬是支持到了Windows XP年代(即使开机需要15分钟。Fun fact:我在工位上的电脑开机比这还慢,8代的Core i5),然后在一次非常疯狂的事故中报废了——在这台没盖子的机器开机的途中,一个空置的硬盘Molex接头蹭到了声卡上的IDE插针,12V电源和不知道什么插针碰到了一块,主板立即报销。

现在想起来真的只能苦笑,尤其考虑到那个声卡IDE接口在这之前还是挂了一只HDD的,如果那只HDD还在的话就不会发生这个事情……

First Love,Literally Puppy Love

台式机烧掉之后,我就踏上了“捡别人的电脑用”(包括买二手)的历程。

在别人家里抱来一台闲置的Pentium 133(那台机器上的显卡至今难忘,那么冷门的东西,在那个没有Internet的年代要找个驱动真的靠运气),找了一些二手配件,加上之前的电脑上死剩下的东西,算是凑出了一台至少能在5分钟内启动Windows 2000的电脑,虽然那个年代的电脑和“学习/工作”并没有什么关系,它更像是一个Playground。

其实现在好像也差不多。

后来因为某些原因,我得到了一台Toshiba Protégé 620CT。这台Pentium 100,24M内存的机器能够非常轻易地放进我的书包,电池能够支持3小时以上(相当于半天的使用),可以用当时对我来说算是出奇地大的5G硬盘,10寸SVGA的屏幕,一个手感还可以的键盘和Trackpoint,所有这些都塞在一个不到2.5公斤的package里面。

夫复何求啊诸君!对当时的我来说这玩意几乎可以说是把家里的电脑浓缩在书包里了,虽然只能用Windows 98(我在那个时候就已经痛恨9x系列的系统了,毕竟我不怎么打游戏,Win2k的稳定性和对Maya/Softimage的支持对我来说更有吸引力)。

当时学校还有网络(我怀疑校方不知道这些端口和通向公网的网关是可以互通的),这台电脑加了一个10M的3com以太网卡之后,我就可以在任何没人关心的时候在教室黑板旁用来传输视频信号的网口上网。想起来,就是这个时代的网络经验塑造了我现在使用网络的习惯。相比当时在“精英班”里上课的每桌一台电脑的学生,我觉得自己的待遇并没有太差。

我第一个被印成公开出版物的作品就是用这台电脑写的。

本来它是有可能成为我在大学阶段的第一台电脑的,然而就在高考完的暑假里,屏幕的LCD背光忽然就报销了,对于那个时候已经7岁的笔记本来说,也许这算是一个足够好的结局了。

Doggone the Celeron

家里出钱买了我历史上第二台新电脑:Acer TravelMate 2000(这也是我至今为止专款购买的最后一台新电脑)。当时买这个机器的价钱其实可以考虑Pentium MMX或者Pentium II的Thinkpad的,但是2.4GHz的主频看起来是那么光鲜,在那个大家还相信高主频=高性能的年代确实很有吸引力。

虽然后来证明了Netburst除了主频以外一无是处,Megahertz Myth busted。

然而在当时,这台机器的性能基本是够用的,我当时能用的最耗性能的软件不过是VMWare(事实上没啥大用处,纯粹的playground),用来运行Linux。即使后来我开始接触数字音频的时候,这台机器也能提供足够的性能来运行Cubase 2和几个Roland的VSTi,甚至是Kompakt采样器(East West的交响乐采样)。

这玩意的重量真的是相当离谱。我觉得可能和传言中这东西用的是台式机CPU有关。所谓“移动PC”的概念(那个时候指使用台式机Pentium III的笔记本,电池续航顶死1小时)刚出来的时候我还觉得相当可笑,没想到最后自己会每天背着接近4公斤的机器和电源在学校里乱跑。

我也许会在未来死于左肩肩周炎……

后来这台机器被淘汰的机器非常好笑。首先845/855芯片的USB bug废掉了机器上的一两个USB口,然后朝上的风扇进风口吸入了大量灰尘并累积在散热片的角落里,导致机器散热非常糟糕,恶劣到在5℃的天气里我还得找个台式风扇对着入风口吹才能部分解决过热问题。

我知道是散热片问题,但是在那个时候我已经懒得解决这个问题了,因为在那时我已经有了一个至今都难以超越的设备。

Pocket Computing

14吋3.5公斤重的笔记本在公交车等场合里没有任何实用性,这个我很早就知道了。在2004年左右我知道了世界上还有一种叫Palm的玩意,决定买一个最便宜的Tungsten E试试看。

那个时候买这种东西在本地还不好搞,必须去大城市买(我很长时间都没接受网购实物,虽然我很早就开始用网上银行服务了)。刚好是快过年的时候,店头基本上都关门了,唯一卖这些东西的店头刚好卖完了Tungten E,只剩下价位过高的Tungsten T和一款国内生产的Pocket PC 2003设备。

于是我用比Tungsten E稍微贵一点点的价钱买了我的第一个真正意义上的随身计算设备,松日i-mat IP3230。

这个机器当时真的是大开眼界,巴掌大的设备上运行着一个稍微有点缩水的Windows,性能相当靠谱,甚至能看得动RMVB视频——那玩意算是当年最流行也最消耗CPU的玩意了。

然而我只用了差不多一年的时间就换了,因为在那个时刚好有个机会可以换一台Tungsten T。Palm OS在当时对我的吸引力还是比Pocket PC强一点,因为整个界面的设计更适合随身设备,而且CJKOS小号点阵字的屏幕表现比Windows系列系统的宋体强非常多。

Tungsten T的屏幕还比3230多了25600个像素!(320×320 vs 320×240)。

不过这并不是我说的至今难以超越的设备。

My First Thinkpad

技术上这真的不算我的第一个Thinkpad,我之前用过一个Thinkpad 390Z,但是那个Pentium II的机器在那个时候基本上只能当玩具,3.3kg的重量也毫无优势,所以用了一段时间(主要折腾Linux)之后就转掉了。

2005年的某天我在闲逛的时候忽然发现了一台Thinkpad 240X。当时那台机器的状态并不很好,屏幕背光有点问题,不过此外还好。CPU只是450MHz的Celeron III,内存加到顶了只有192M,在那个年代已经不能算配置好的机器了。

然而10寸的屏幕(SVGA)和不到2kg的重量实在太吸引,于是花了一点饭钱买了。

非常好笑的事情是这个CPU至少有那个Celeron 2.4G的80%性能,即使用的是完全一样的系统……真的非常好笑。没过多久,我就放弃了那台Acer,改用这个只有一半重量的小机器了。这个机器陪伴我过了差不多两年。

在这两年里我的大学生活经历了一些重大的变化。由于学校奇怪的课程设置,我需要同时带至少2本课本才能完成半天的课程,还需要一个东西跟踪我这一周的哪天究竟需要什么课本。240x轻巧的重量和足够的计算能力使它成为了课本的替代品,而Tungsten T和Outlook结合则提供了很好的日程管理工具(在用3230的时候就已经开始习惯用PDA记账和管理日程/工作任务了,但是Palm上的Agendus真的比Pocket Outlook好用很多)。

240x的电池也比那台Acer耐用,不过那技术上是个台式机,能用电池支持2小时(新的时候,后来缩到了30min)已经算是奇迹。

这台240x是怎么退役的我已经记不清楚了,大概有一部分原因是因为屏幕吧……不过应该有相当一部分原因是我有了新的电脑。

不过,直到今天,我还很怀念这个机器……毕竟已经很久没见到体型、屏幕点密度和性能综合如此合适我的机器了。

The Magnum Opus

用这种词汇称呼我的T22好像有点过。

不过我好像没有在任何其他电脑上达到过在这台机器上的成就了。

这台T22也是闲逛的时候买的,P3 900MHz的CPU在我看来已经超过了之前那台2.4G的性能,14吋虽然有点大,但是T22的厚度控制相当好(毕竟是600系列的血脉),平时携带并不会觉得特别费劲,XGA的屏幕相比之前的SVGA在日常应用中正常了很多,当时还没有太多网页的宽度会超过1024px的,800px已经不够用很多年了。

我在这台机器上投资了不少,一块ultradock电池和新换的电池芯使它的续航能力轻松超过4小时,两条内存槽加上罕见的16片PC-100 256M内存条可以提供对XP来说相当足够的内存配置,再加上一个DVD/CD-RW,一张PC卡wifi卡和一张3G/GPRS Modem卡,这个机器几乎可以在任何时刻任何地方完成我想要做的任何事情。

那个时候GPRS上网刚起步,至少是降到了我能够负担的程度。以前放假在家就代表正常24小时在线的我(除了上课时间,有时包括上课时间,如果我没去上课的话……)彻底消失一两个月,有GPRS了之后我就开始了真正24小时在线的生活。

24小时不间断的IRC(QQ群)……货真价实的拉力赛。想想这样已经十几年了,真是寒心。

移动那个时候正在推广3G,但是市面上能负担的PC卡上网卡都只有GPRS和WCDMA的国外二手货,而最好的卡当时价格过千,比两个MTK的手机加起来都贵,选来选去最后我在某个奇怪的店头买了一个AT&T的3G/GPRS卡。那玩意信号不怎样,但是不用额外步骤连接手机就能随时上网的便利看起来相当值得。

不过这都是后话,2006年我刚买这个机器的时候还没这么多东西,它只是一个性能大幅上升的Thinkpad,一个2.5kg左右可以轻松扔到床上的结实的机器。这机器没有内置WiFi,而且当时因为老共正在以不支持自家的WLAN加密协议的问题正在和厂商交涉,所以我还是在用网线连接我的电脑和网络接口。

2006年年末我找人在T22的屏幕顶端的接口上塞了一个小蓝牙模块,方便我的PDA和电脑进行同步。也在这个时候,校内有人在卖一台Tapwave Zodiac。

Zodiac是一个非常奇怪的机器:它长得像游戏机,配置像游戏机(那个时候PSP还很时鲜,PDA里面有GPU更是闻所未闻,这玩意就有一个ATI的……就是高通的移动GPU产品线的前身),跑的却是一个一直被认为和多媒体没啥关系的OS:Palm OS 5。

我的Tungsten T在那个时候已经有接口松动的问题,虽然Tungten T有非常好的外形(它的下半部是可以伸缩的,缩进去的时候机器只有掌心大,照样可以操作触摸屏上的大部分功能),对充电至关重要的接口出了问题逼我需要考虑一个新替代品。下一代产品Tungsten T3当时需要近2千块钱,而这台Zodiac不到1千就能成交,还有两个SD卡口(总共可以支持2个2G卡,共4G储存,在那个时候已经是天大的容量。Fun Fact:我只有在记忆卡容量这一个方面一直领先身边的人)和320×480的“巨屏”,不换机简直对不起自己。

Zodiac的屏幕12点的字在上面密密麻麻地排列的样子非常舒服,模拟摇杆作为五向键使用相当灵活,右侧还有4个可定义硬键提供有用的辅助功能,我以后的PDA没有几个有这么好的功能集合了。

T22和它合作得相当良好,“内置蓝牙”使Zodiac的接口磨损降低到几乎不存在的程度。不过也就是这个“内置蓝牙”,在2007年的某天因为我怀疑它接触不良手贱多按了一下,屏幕就碎掉了。那个时候的屏幕碎掉和现在还不一样。现在的屏幕碎掉很多时候是保护屏幕的玻璃板破裂,TFT基板是没有问题的,但是T22的屏幕就是TFT基板本身,一碎掉就直接影响到屏幕内容的显示。

没过多久我们就被要求搬到另一个地方去,在新地方我第一次买了WiFi无线路由和网卡——老共都允许这玩意上市快10年了,我就不信他们还有办法硬推自己的标准,那是个美好的年代——然后用一台Hitachi小笔记本通过radmin连接到T22上,由此T22就成为了台式机。半年之后,T22的屏幕修好了,它再次成为我的主力机,那个小Hitachi就被遗忘到一边去。诚心说,那个小机器的性能和尺寸也是相当不错,当时带着它到处去是比T22要轻便很多。

虽然T22的性能比240x高了很多,但是我当时大部分的音乐却不是在这台机器上完成的。我改用240x的时候就已经显得黔驴技穷,仅有的糟糕能力已经赶不上当时的制作水准,所以放弃2.4G的Celeron的计算能力显得并没有那么重要。还有一点是,当时我开始使用Propellerhead Reason,这个软件在相对糟糕的配置上运行的效果非常良好,偶尔作为playground的话足够应用了。

T22后来和Reason 4一起完成了天守物语的制作,接着就是神乐的文本写作。它的确是用来完成我迄今为止最大的工作项目的工具。

2008年,T22出现了严重的内存问题,后来才知道这是因为IBM用了强度不十分足的焊锡焊接内存槽,两条256M内存的重量足以逐渐将朝向地面的内存槽从主板上拉脱。大概在年初的时候我换掉了主板(当时还不知道只需要简单的reflow就能修复),然后完成了神乐的收尾工作。

神乐的工作完成之后我得到了一小笔钱,这笔钱立即就用来买了一台基于Pentium M架构的R50,我也终于超越了之前那台Acer的计算性能。T22用了一小段时间之后因为贮存空间和财政的问题就被我卖掉了,现在想起来相当可惜。

它毕竟是那么漂亮的一台机器。

Going Smart Mobile

然而R50的重量和体积都比T22大了一圈,当时我在医院实习,每天在病区专门找个地方放笔记本电脑、安置电源和上网打屁似乎非常地不合适。Palm OS虽然是非常好的PDA OS,但是在上网这个问题上几乎见不得人。为了满足我的网瘾,我开始将目光投向了当时还是相当新潮的“智能手机”。

我很久就知道HTC在大陆的马甲“多普达”了,但是动辄3k以上的价格真的无法直视。2008年偶然我看到有人在网上挂了一个不到1k的818(HTC Magician,肥皂一样的机器),于是买了一个回来,然后把上网专用的SIM卡复制一个(那个并没有太多强加密的年代……),放在那个机器里专门用来在办公的地方上网打屁。

我的网瘾是真够大……

没两个月,我在学校的BBS上看到一个更吸引的东西:技嘉的gSmart。如果说818是肥皂,那么这玩意就更像肥皂……不过比起我那个垃圾成色的818,这个机器要小一点点(虽然是一块黑色的塑料肥皂),跑更新的系统(Windows Mobile 5.5),而且有一个滑盖手机的键盘。

聊天利器啊这!

我一开始是想用这机器完全替代我的PDA的,毕竟每天两边口袋各放一个PDA/智能手机真的不是很现实(还带个普通手机!),充电还得充两回。然而出了一两次事故之后,我又开始用Zodiac,即使在那个时候Zodiac的专用充电接口和gSmart的mini usb相比真的是麻烦很多。

Palm OS上的很多软件还是比Windows Mobile上的好用很多,尤其是生产力工具。信不信由你,Palm上的Document to Go比微软所有Windows Mobile上的Pocket Office都好用,我后来中断和停掉的那部小说的一部分就是在Tungsten T和Zodiac上完成的。

然而Windows Mobile上面有些东西还是比Palm OS好,除了网络应用以外,这也是我第一次接触GPS和相关软件的使用,拿着GPS在之前没去过的城市角落里乱窜是一件我至今都非常喜欢的事情,不过总觉得现在的GPS软件不如以前好用,这是后话。

2009年是一个奇怪的年头。我先是从gSmart/Zodiac换成了Treo 680(大概是裤子受够了),然后又添了一个三星的i550w SymbianOS手机(我至今都觉得SymbianOS是最佳手机OS,fight me),最后买了一个当时的梦幻机器,Sony Ericsson Xperia X1(还是HTC代工的其实)。

X1差不多是最好的Windows Mobile机器,虽然参数没有HTC的HD2那么强,这个小巧的机器将一个相当不错的CPU和一块800×480的小屏幕塞了进去,而且保留了很多硬键用于各种自定义操作,更重要的事情是,它有一个全键盘!

然而WM已经在走下坡路了。QQ对WM的支持越来越差,很快WM机器除了饭否就没有太多可以用的软件了。作为PDA的话X1相当称职,我甚至在上面完成了一篇6万字左右的同人小说。

然后键盘就报废了。

之后好几年我都在用X1作为随身工具,R50基本就是放在住处的底座上当台式机用。曾经有段时间我短暂地用过Thinkpad X31,然而两台电脑在当时用起来相当别扭,于是卖掉了。I550W后来也因为某些原因出掉了,我买了第二个X1当电话用,因为可以轻松地和电脑同步通讯录等内容。

想起来,Treo 680是我最后一个真正意义上的智能手机,因为我同时将它当PDA和电话在用。

这样的状态一直维持到2012年。

The Android Freak Show

我并不喜欢Android。这个系统怎么看都像一个玩具,从Windows Mobile 6转移到上面有一种弱智化的感觉。

Windows Mobile就像一个缩小了的电脑,而Android设备看起来就是一个打了兴奋剂的手机。类似SymbianOS那样的手机OS如果单单是做手机做的事情——打电话发短信以及偶尔的多媒体应用(因为我的MiniDisc播放器全坏了)——那是一点问题没有,但是非得用这玩意做PDA的话,真受不了。

然而形势比人强,再怎么抵抗,Windows Mobile上的软件已经基本到了尽头,而且也没有更新的设备会推出了。2012年初我刚好看到一个非常便宜的Android设备在挂网出售,决定尝试一下。

我很快就知道为啥原来的用家想出掉这个机器了。艾诺的Novo 8要用12V的专用充电接口,尺寸和硬键的布置(当时Android设备还普遍有硬键,Novo 8甚至有一个小小的Trackball)使它不管单手还是双手使用,不管竖屏使用还是横屏使用都非常别扭。最要命的事情是这个机器的固件相当不稳定,经常会导致SD卡无法访问之类的问题。

然而我还是继续用下去,1280×800的屏幕看PDF是真舒服。当我基本找齐了WM上常用的软件之后,它的表现并不比X1差太多,虽然我还需要保留一个X1(做电话的那个)来完成日程表等基本的PDA功能。

2012年快毕业的时候我发现了昂达的Vi10,毫不犹豫地就跳了船。Android 4.0的稳定性和可用性确实比2.2/2.3增强太多,专门的tablet界面设计终于使它的使用手感赶上了Windows Mobile甚至是Windows——虽然不是完全的电脑一样的设计,但是用起来感觉逻辑强了很多,至少手里的不再感觉是一个加大号的手机。

之后不久,我的WM手机也差不多走到了尽头,虽然忘记了具体的原因,大概是为了手机和PDA上的软件能够基本一致吧。开始工作不久我就买了一个联想的便宜MTK android机,和我的平板搭配在一起并不算很累赘,不久我的Android平板也从昂达换成了三星Galaxy Tab 2 7.0,同样是7吋平板,CPU从全志单核A8换成了TI的双核A9,性能高了不少,三星的ROM也确实优化得比国内厂商强些——至今我都这样认为。

2013年前后我在纸媒的工作上得到了一点点钱,于是在很短时间里又换了一次平板,换到了Galaxy Note 8.0。这东西基本上就是一个加大版的Galaxy Note 2,性能再好了一些,而且有了一只笔。2014年我又买了一个Galaxy Note 2。

之后,我的随身计算设备的重点永远地离开了Android。

Atom Zoo

2012年之后因为收入的增加,我开始可以进一步地投资在各种硬件上。工作不久我就从R50换到了T43上,而且是两台T43,一台换了高分屏(SXGA+)带去上班,一台放家里。不过我依然依赖平板作为PDA来满足随身计算的需要。

直到2015年我手闲买了第一台Windows 8平板,这一切才彻底改变。

我在很长时间里没换过OS。当时在用的Windows是最初从Acer迁移到240x的时候随着HDD带过来的Windows XP,做了很多自定义的配置,在这么长的时间里我已经非常熟悉这个工作环境里的一切。我的工作和电脑其实没有关系,所以这样的一个落后的系统并不会妨碍我的数字工作和生活。

Windows 7当时也已经有些过时了,Windows 8/10还在被怀疑的阶段,当时我的电脑已经是有10年历史的平台,我并不觉得会需要升级或者可以升级的可能。不过,如果有机会为啥不尝试一下呢。

于是2015年我刚好看到一款国产的Windows 8平板在降价就搞了一个,七彩虹的i818w。

这是一个相当悲剧的设备,从配置上来看甚至不如我的T43,除了一个4核的CPU(但是单个核心的配置除了主频都不如Pentium M)还算“可观”,2G内存和32G eMMC的配置实在非常可悲。

然而它跑起Windows 8.1和Office 2010/2013看起来并不比我的T43跑Office 2003可怜,甚至在某些时候感觉更流畅。

我有一种和240x重逢的感觉,虽然它比起240x还有很多很多缺点。T43很快就从我的日常携带清单里退却了,这个奇怪的小平板成为了我上班的主要电脑。虽然我还一直保有那个Galaxy Note 8.0(至今也是),但是当我在什么地方需要做一些什么事情的时候,我首先拿出来的东西变成了那个Windows平板。

不过这个平板并没有和我在一起很久,因为我觉得,既然配置这么差的机器都能相当流畅地运行Windows 8.1,那么一个正常的小Thinkpad就没有理由跑不动Win 8.1。

当然T43是不行了,我的目光重新投向了X系列,刚好在店头看到一个价格合适的X200,于是就盘下来,之后又买了一个X200t,X200放在家里用,彻底和XP说再见。

然而1.5kg左右的重量拿在手里还是嫌重,于是我继续在Atom机器上下功夫,先后进了一台Lenovo Miix 2和Acer Switch 10e,在一段时间里它们都是唯一带去上班的机器。Android退居二线(至今都只是在空间极度局限的时候我才会把GN8.0拿出来用一阵,手机基本仅用于媒体播放和通讯,以及一些必须用手机App处理的事情,后面这些事情最终由一台专用的Galaxy C9解决),Windows 8.1成为我最重要的随身计算平台。

有一天我忽然想到,既然3公斤的机器好像对我来说并不算很过分……那么两个机器加起来不到3kg的话是不是可以*都*带上班?2016年开始我开始每天带两台机器上版,一台是X200t(X200t有两款型号,一款和我以前用过一阵的X41t差不多,只支持电磁笔和屏幕进行交互,但是有一款更稀有的机器支持单点手触摸(好像还不完全是电阻感应,比传统的电阻屏手感好),我后来搞了一个那个),一台是Switch 10e。

接着,我发现了1080p的精妙,于是从最初的中柏Ezpad 5se开始变成了两台5se,然后是一台5se和一台别人送的Lenovo Yoga Book,接着是酷比魔方的iWork 1x(这个机器还冒过烟……非常神奇的经验),iWork 11和Acer的Spin 1……这一大堆机器在一段时间里分别组合成一堆乱七八糟的双机配置,成为了我上班携带的组合。

这么一连串的机器的迭代不过是为了获得我理想中最好的一组全高清屏幕便携机型。但是这些机器都有各种各样的不满意的地方,尤其是,它们没有一个是Thinkpad。

至此,我已经用了十几年的Thinkpad,对于这款机器的键盘我已经习惯得不能再习惯,尤其是键盘中央的Trackpoint,使用它成了下意识的动作,要重新适应触摸板几乎是不可能的事情——我可以用,会用,但是我绝对憎恶它,只要有任何机会我就会逃回Thinkpad的键盘上。

即使外置的Thinkpad Style的键盘用起来都有相当的不如意处……

因此当我在开会的间隙在石牌看到我的第一台Thinkpad Yoga的时候,我毫不犹豫地将它买了下来。

The Yoga Way

Yoga Book让我第一次尝到Lenovo这个号称相当创新的设计的滋味,虽然不如X200t的转轴覆盖模式看起来完整干净,至少它算是解决了一点问题,尤其是在这个什么东西都在朝着超薄化方向的年代,它至少提供了一种Tablet PC设计的新范式。

当我发现Thinkpad产品线里有Yoga模式的机器时,我毫不犹豫地投降了,迅速淘汰了手里所有的Atom机器(在中途还用过一段时间Acer Switch 3,但是那个机器的主板很快就坏掉了),在一段短时间里我曾经只用TP Yoga进行所有计算工作。

不过用过两台电脑并排运作之后,这种模式提供的自由性就很难从脑海里抹掉。很快我拥有了第二台Yoga,和第一台机器并排工作,并作为平板满足随身计算的需要。

然后就是各种的不满意……初代Yoga的重量虽然并不比X200t重太多(同样在1.5kg左右,X200好像更接近2kg),但是由于Yoga模式转换成平板的时候电池处于机器重心的远端(我单手握持在屏轴附近的位置),重心的改变使机器对手的压力增加了许多,甚至导致我的左手腕开始疼痛。

那啥,为啥我受伤的总是左边……

于是又开始了一阵换机的狂潮(一方面是因为闲钱有点多,一方面是因为我那段时间的情绪有点不稳定,我甚至干过将电脑扔进医院附近的河里的事情,don’t ask why),我在一两年的时间里先后用过一台Ideapad Yoga 3 Pro,两台X1 Helix和一台X1 Helix 2,以及一台Yoga 12(打算和同样是5代CPU的Helix 2搭配成组合)。

这种二合一的形式其实差不多就完美了,不过X1 Helix CPU比较老发热比较疯狂性能也较差,而Helix 2采取Connected Standby(和Atom平板一样的待机模式,与传统笔记本的Standby相比耗电大很多,容易受各种因素干扰而不能进入低功耗模式),更孱弱的性能以及和Yoga不一样的充电接口(小口12V)也让我很抓狂。

我真的想不起我是怎么买下第一台Yoga 260的了。我曾经厌恶这个机器,因为它有点换汤不换药的感觉,但是这个1.2kg的机器(比前两代12吋的Yoga足足轻了300克)拿在手里的感觉确实有了显著的改善,Skylake的核心架构虽然比起Haswell(以及仅仅进行了Core Shrink的Broadwell)没有明显改变,性能有明显的改善,尤其是在低功率的情况下。

之后买了一堆Yoga 260……这么多年和二手机器打交道的经验以及最近几年形势的变化让我对备件来源有了很重的焦虑感,所以开始囤积Yoga 260整机作为备件来源,这个策略相当病态,但是也提供了好几次拯救我的260所急需的备件,中断时间不超过12小时。

比原厂服务还快。

The Cyber Bag

我在用240x的时候就得到了一个老款的红点包,这个巨大的包里面有非常多的分隔,我可以把各种各样的东西塞进去,逐渐我就养成了几乎把日用所需的东西(除了衣物和洗漱用品……)都塞进这个包里的坏习惯。曾经有段时间,我只要有这个包在身边就有了我所需的所有工具。

但是这个包用了接近10年之后就显得非常旧了,买一个更换品变得不现实(根本找不到了……),再者我的设备已经实现了轻量化(Android平板),再用那个大的一个包放那么一点点小东西就显得很滑稽。

于是我用了一段时间Sanwa supply的小包。那个小包还有专门放雨伞的地方,在多雨的地带相当方便。不过我重新开始用全尺寸笔记本电脑之后,那个包就显得不够用了。

经过好几次折腾(Sanwa的大包,新款的假皮红点包和便宜的14吋Thinkpad薄包),我最终选定了现在用的戴尔15-17吋包。这个包里面的间隔差不多能赶上我最初的那个红点包,通过一些缝线分割,我可以将里面的大空间再分割成适合放小东西的空间。

于是这个包的每个角落都被我塞满了东西,这个包的空重(不包括两台Yoga 260、两个手机和一个平板)已经超过了3kg,整备重量超过7kg,理论上已经不能上飞机了。

我究竟在干啥(抱头

这么重里面都是什么东西?我也不知道为啥我会将所有设备要用的充电器(两个口红USB-C、一个多口USB-C/USB)、一个Thinkpad可用的Powerbank、所有设备可能用到的充电连接线、USB手指盘(至少三个)、SSD(至少两个)、以太网卡(两个,其中一个带USB Hub)、一个RTL-SDR和天线、一个LTE-WiFi路由器、一堆文具(包括一个HP Prime计算器和三只油性笔)、现金和各种证件、以及筷子汤匙口罩手套环保袋工卡等等等等……都塞进一个包里……

然后再加上两台Yoga 260,两个手机,一个Android平板和一个挂在PowerBank上的Atom服务器……

谁敢说自己的Cyberdeck比我这个包厉害,哈!?老娘抡起来估计能随便敲断别人的脖子……

或者是自己的肩关节韧带(抱头

Future?

我的两台Yoga 260有点不一样,因为一台负责作为单位上班使用的VNC终端,另外一台就真的随着我到处去,所以它们上面的软件和配置都有不一样的地方。随身的Yoga 260后来还增加了LTE网卡,在我远离LTE-WiFi路由器的时候也可以保持网络连接。

网瘾啊网瘾。

我原来觉得这也许就是我很长时间的配置了,然而当我手贱用过了一天X1 Tablet之后(那台机器是如此混蛋乃至于一天之内就坏掉了),我对2k屏(2560×1440)耿耿于怀,总想着是不是有一天搞一个p40或者X1 Yoga认真体会一下……

但是这两个机器都是14吋的。至此我也有接近8年没用过这么大的机器了,所以对它的手感实在是没什么底,我甚至不知道自己能不能扛得动这么重的机器(虽然我知道X1 Yoga的重量和260几乎一样),毕竟现在年纪大了,肩周炎这玩意说来就能来。

2021年10月去外地开会的时候又去了一趟石牌,当我看到2屏的X1 Yoga的时候……

SHUT THE FUCK UP AND TAKE MY MONEY!

于是我现在在用一对X1 Yoga,并收集了相当于两台整机的备件……我是个混蛋。

X1 Yoga作为平板使用的时候重心比我之前用过的所有Yoga机型都更靠近手持位置,这点大大增加了手持的稳定性并减少了压力。在床上躺着用的时候,体积增大的下半部支持在身上以后屏幕和眼睛之间的角度也较Yoga 260有了一定的改善。虽然这个机器大了些,导致小空间实用性有所下降,在我现在的使用场合里似乎完全合适。

早两天我将Atom服务器换成了GPD MicroPC之后才发现我的Windows 10 1607和Skylake以后的所有CPU都不能完全兼容,尤其是内置显卡……也就是说,我的未来将会在很长一段时间里定格在X1 Yoga或者Yoga 260了,如果我拿不出勇气重装系统的话。

那就先这样吧……老实说,现在真的已经有点累了。

想想看,我真的不需要这么多东西,但是要从那个包里拿走任何东西都让我觉得它的功能变得残缺了。

未来如何,也许只能等待我有勇气踏出新的一步的那天才会在自然到来的时刻知道。

#13382 – Blockchain背后的社会逻辑

有关部门最近又开始提这茬了,至少给小干部们脑门刷白漆的那些课程里面又在爆炒。

之前在网上到处疯传谁是Satoshi的时候我就说过“这人必须是亚洲人,不能怎么会想象出一个这么恐怖的社会然后设计出这么恐怖的一个算法”。从我自己对Blockchain的认识(大概99%是错的),这个东西背后所预想的社会逻辑确实和我自己身处的环境太相似了。

1. Blockchain假定没有任何权威是可以相信的。

“他们要我们相信他们,我们假装相信他们,他们知道我们假装相信他们,但是他们还是假装相信我们相信他们然后要我们相信他们”,这种苏联笑话式的社会其实在远东地区至少延续了上千年,尤其是在那些看起来从上到下地以各种千丝万缕但又层次分明的管理体系捆绑成的一个“共同体社会”更是这样。大量的偶像被树立又被打倒,中层如流水一般奔涌,作为一个无法进入权力体系的个体,他最佳的策略显然不会是将信仰放在一个单独的偶像或者概念上。

2. Blockchain假定“熟人”是可以相信的。

只要有参加到特定圈子里的熟人背书,再疯狂的想法都会有人相信,这个事情在很多社会里是这样,但是对于以农耕小团体(村落)为主体的远东社会来说,我觉得这点应该是发展到了一个登峰造极的地步。至少和庙堂上的偶像相比,这些熟人都是能看得见摸得着的,对很多人来说。同时,由于对所谓“同乡”、“朋友”、“熟人”等等的信息的掌握程度,这些人在潜意识中又体现出一种互相报复的暴力保证:“我知道他家在哪儿,如果他骗我我可以X他全家Y他祖坟”。这种假定中的相互牵制和威慑的能力远远比任何主义都来得可靠。

3. Blockchain假定“主流”永远是对的。

主流未必是被喜欢的那种玩意,但是主流永远不会错,因为主流永远有最多的人认为是对的,就算主流最后错了,那至少也不会惩罚到个人身上,“法不责众”的逻辑比正义本身更可靠——某种意义上这背后也是一种“多数人暴力”的潜在的暴力威慑和保证的意识的表现。

#13374 – 病理本科班

今天花了怕有20分钟交代一个病人,一个月之内第二次了。

挂了电话又开始了习惯性地抱怨临床医生为啥都是一帮白痴怎么乱交代病人搞得又要我帮忙擦屁股。

不过想起来,本科的时候讲的病理学,确实和他们现在面对的临检病理简直是两个世界。

本科的病理学感觉就是个pipe dream:所有的事情都有答案,所有的答案都有金标准,所有的标准都是可以一眼就看懂的。

要是这行有这么简单我早失业多少年了。

当初确实因为有人和我提到过这一行的挑战,所以才决定投入到这行的,不过现在还是一天到晚抱怨这行水太深。

主要是因为自己学的东西实在太少了吧。

纯野生的病理医,就是说在从业的那天才开始真正接触临检病理的那些,要成长感觉真的挺困难,因为这行头绪太多(重要的是国内大部分时候根本没有专科可言,一般的病理诊断医师是货真价实地需要从头到脚都会看,还要自己看影像看化验看病史……),没有系统地接受过相关的教育的话,完全从自己的工作中学习就会觉得非常茫然。

某些学校倒是有办本科就开始的病理诊断专业,不过行内非常不喜欢,或许有一些害怕竞争的意味。最常见的抱怨就是这些人因为缺乏临床经验,所以看片子不会结合临床。

好像很多干病理的之前就做过几十年临床医生一样……谁不都是最多干了几年就从临床逃到这个niche里的。

不过我觉得,如果真的要从本科开始做这样的教育的话,他们的课本理应就和我们以前上临床的课本不一样。比如说解剖的教学就应该结合每个部位的病变取材原则以及尸检的技巧,内科教学要尽可能结合该疾病的临床病理表现和它的症状、影像、实验室检查之间的关系,等等。

这样学的话,应该会比把临检病理和基本医学教育分开来上(就像普通临床专业的学生开始搞病理那样)会好理解一些吧,至少对于我来说是这样。

然则教学方面的改进真的能够弥补常识上的缺陷么……这个真的让我很绝望。

实际上今天想到这个事情的由头就是因为一个接受过正规规培的人将一块病变组织直接往包埋盒里一塞了事,制片的技术员又缺乏常识直接照这个方向切就是了,结果到我诊断的时候才发现根本没有切缘,而这个病变的性质是需要报告切缘才算完整的。

之前也闹过很多感觉就是纯粹缺乏一些基本原则的常识才会闹出来的事情,再加上现在整个单位的风气在变坏,这些事情似乎越来越无解了。

#13368 – 口罩

过年前两天,是最后一次不戴口罩坐公交车的时候。那个时候消息已经逐渐传开了——还能不传开么,电视都说了——然而公交车上依然没有人会戴口罩。

因为根本就不觉得是个事情啊,就像Dec 31的时候我觉得这事情应该不会很大,因为17年前已经处理过一次了。

然而在那个时候,我觉得莫名地紧张。

就算是假期结束之后我有段时间还是不喜欢在单位办公室以外的地方戴口罩,当时的slogan是breath free or die,挺好笑的。

结果在Mar结束之前,在公交车开始强制要求戴口罩之前,我开始door-to-door地戴口罩。

Xenophobia,真的。这是根深蒂固的恐惧,我必须承认。之前我对自己说现在人不多,问题不会很大,后来我对自己说,现在人多了,就是问题不大也不能不害怕了。

当根深蒂固的恐惧加上现实的威胁——并不是肉体死亡的威胁,而是社会死亡——人自然会愿意做各种事情,所谓迷信。

到了现在,就是出去的时候觉得自己的脸颊凉凉的都会下意识地摸一下脸,看看是不是没戴口罩(大部分时候是),即使自由呼吸的感觉是如此美妙,也不敢像街上的很多人那样享受自由了。

恐惧,对他者的恐惧,永远支配着每一个人。

然而我还是在跨年的时候得了一次相当严重的流感,那是因为办公室里有人感冒,而我和对方都没有戴口罩。

一般的医用口罩主要的作用是防止使用者的飞沫飞出,相对来说对使用者吸入的颗粒的防护能力是差点,这是我的认识。

而我确实不喜欢在一个人口一只手就能数完的办公室里戴口罩。

这事情算是我自找的。讨伐对方的盲目自信和忽视自己的惧外似乎是一样地愚蠢。

有意或无意,莫名的恐惧和莫名的自信,支配了这个世界的每个角落。

有人说,不管结局如何,这个世界永远都不再是我们之前认识的那个世界。

看看那些没有口罩的照片。

如果开始觉得不正常的话,那大抵是正常的吧。

旅行、公交、外食……即使现在看起来似乎开始变得正常,我依然会觉得非常不自然。

有些东西确实变了,从根本上动摇了。