程序员要“肛”起来,真是没谁了。
事情还得从前几天国际象棋界曝出的惊天丑闻说起。
当时,世界冠军Magnus Carlsen(老卡哥)直播对战19岁新秀Hans Niemann(小汉斯),结果败了。
随后老卡哥选择退出比赛,并发推文暗指小汉斯在比赛过程中作弊。
而小汉斯在此之前确实有过线上比赛的作弊史,于是网络上“靠肛珠作弊”的声音甚嚣尘上。
就连马斯克也一度参与到讨论中,暗有所指地来了句“it’s in ur butt”。
然后这件事引发了一位荷兰程序员Ron Sijm(西姆哥)极大的兴趣:“这丑闻,我一直在follow”。
于是在周末闲暇之余,西姆哥就研究起了“肛珠作弊”,竟然还把代码给开源了!
项目名曰“ButtFish”:
这可真是硬核“炼肛”的节奏啊……
西姆哥炼肛,第一步做的就是在GitHub上搜寻是否有可以借鉴的项目。
不幸的是,他并没有找到可以直接拿来可以用的,倒是有个较为接近项目,叫SockFish。
这个项目我们之前有聊到过,大致就是用树莓派连上鞋垫做成一个作弊器:
虽然原理上有点那味儿了,但西姆哥认为这东西想塞进屁屁里是不太现实的。
于是乎,他又搜寻了一圈,发现有个叫Buttplug.io的开源项目,同样也可以通过震动来产生摩斯密码。
至于震动的“介质”是个啥,咱们就不深聊了,大家可以自行脑补(好羞好羞)……
在做好调研工作之后,西姆哥还深入思考了一个问题——谁会去搞这么个“智能肛珠”。
在他看来,研究“智能肛珠”的人需得满足下面这三个条件:
你得对屁屁相关的东西感兴趣吧,得会下国际象棋吧,最关键的你还得会编程,是吧?
西姆哥觉得能满足这三个条件的人微乎其微,所以他一咬牙、一跺脚:
简单来说,西姆哥的方法主要分为三个步骤。
首先,通过读取棋盘FEN字符串,来确定下一步棋的最佳走法。
其次,把最佳走法编码成摩斯密码。
最后,摩斯密码发送到连接的设备。
由于西姆哥没有找到非常合适的肛珠,所以他在演示的过程中,用自家的球形大灯来代替——灯泡闪烁一次相当于肛珠震一次。
(也是相当有那个味道了)
至于智能肛珠产生的震动,如何联动使用者作弊,接下来我们浅谈一下。
国际象棋8×8的格子一般横向编为小写的a-h、纵向编为1-8,棋子则根据英文单词首字母命名,如后(Queen)就是大写Q,象(Bishop)就是大写B,另外小写x代表吃子。
这样一来,每一步棋都可以写成类似“Bxg2”(把象移动到g2格子并吃子)的简短编码形式,这也是一种通用的国际象棋记谱方法。
……
不过有一说一,西姆哥也表态说,目前还没有确凿的证据表明小汉斯是通过智能肛珠来作弊,所以这个项目也只是他兴趣使然。
关于这场智能肛珠作弊的风波,老卡哥在这两天发表了一项最新声明。
在这份声明中,老卡哥直言道:
这份声明之下,网友们的评论也是观点不一。
有人认为老卡的做法是在毁了一个19岁少年的大好前程:
也有网友认为,官方需要在比赛之前,对选手做一个TSA身体扫描,检查一下是否有智能肛珠这样的作弊设备:
总之,国际象棋界的这场智能肛珠作弊风波目前尚未有明确的结果,事件还需静候进一步的发展。
这位炼肛大师名叫Ron Sijm,是一位来自荷兰的程序员。
据个人主页信息显示,他通常在一家IT解决方案公司DotNet工作,不过目前Appical公司担任程序开发人员。
还记得刚才咱们提到的那个妙不可言的网站吧?
西姆哥现在一直在和上面的用户积极交流,希望能够找到拥有设备,还想尝试一下他软件的那位“天选之子”。
Emmmm……有点意思。
参考链接:
[1]https://github.com/RonSijm/ButtFish
[2]https://incoherency.co.uk/blog/stories/sockfish.html
[3]https://buttplug.io/
[4]https://www.vice.com/en/article/5d3w9z/did-hans-neimann-cheat-at-chess-with-a-sex-toy-this-coder-is-attempting-to-find-out
[5]https://gizmodo.com/chess-cheating-magnus-carlsen-hans-niemann-chess24-1849585332
“