Now the guilt is all mine

我觉得还是有必要更加清晰地切割。

切割其实是门艺术。切割以后,自己如何处理,被切割的那方如何处理,无关方又该如何评论这个事情,这些都是需要被严格定义的,否则会出现大麻烦。

我无数次想过切割的处理方式,后来我想清楚了怎么定义:

  1. 我不能提对面
  2. 我出现的任何事情,与对面无关;对面如果想利用,请自便,我管不着
  3. 观众在思考和评论中不应该同时出现我和对面

这类似于「保密协议」或「闭口禅」,按这个规则做事很有意思,首先,切割后我这边再也不会出现麻烦;对面也不会觉得麻烦,因为罪过不在他们身上;观众也不会因此觉得困扰和造成纷扰。

换个说法就是,切割并不是切割自己和对面,而是切割自己——将对面的那部分自己给切割出去,那部分自己从此成为对面,而与自己不再相关。如果任何一方想讨论这个事情,那这是那个自己的事情,和自己没有关系。

然后精彩的地方来了,我们可以发现一个公理,就是「任何关系要么已结束,要么会结束」。

在这个规则下,我和任意一方要么是已切割,要么是预切割。所以,我与所有切割了,那么我的所有都应该按照上述规则运行。

读到这里,任何一方一定要记住,在处理我相关时,一定要按照上述方式来,否则会出现大麻烦。

祝好,

切割

你姚养老院

Zenithal Hourly Radio, [15/10/2020 22:39]
[引自 Zenithal]
你姚养老院

Zenithal Hourly Radio, [15/10/2020 22:39]
[引自 Zenithal]
真是名不虚传

Zenithal Hourly Radio, [15/10/2020 22:39]
[引自 Anonymous]
如果我在贵系

Zenithal Hourly Radio, [15/10/2020 22:39]
[引自 Anonymous]
估计痛不欲生

Read More

一次本地 git 仓库损坏后的补救

服务器上有个仓库,由于正在开发中,所以在 commit 后都没有 push 到远端。

服务器上该仓库所在分区是 nfs,远端 nfs 下面是一个 ext4,之前 nfs 服务器掉电过,所以该 ext4 已经存在损坏。

恰逢机房要停电倒闸,大约是今天早上八点的事情,但我工作到了四点,忘了这回事(即忘记断电)就去睡觉了。

一起床,一上机器,一列目录

文件损坏

1
2
ls: cannot access 'flash.h': Structure needs cleaning
ls: cannot access '.littlefs_api.h.swp': Structure needs cleaning

瞬间醒了,开始救文件

Read More

本科毕业论文:基于 Chisel 实现 RISC-V 指令集标量密码学扩展

在本科毕业论文综合训练开始之前,我就在想我的本科毕业论文要不要公开出来。据我观察,出于各种各样的考虑,这样做的同学确实较少;然而我想,克服一下困难,总是能公开的。所以我在选题的时候就选择了一个公开的主题,即 RISC-V;开源工作也是我喜欢的工作,毕业设计能开源最好。恰好,当时 Rocket Chip 和 OpenSSL 正好缺少 RISC-V 标量密码学扩展的实现和支持,我也正好想学习密码学工具的硬件和软件实现,这是量身打造的课题啊。

于是我选定了这个题目。不过,与其说是写毕业论文,不如说是欢快搞开源业务然后顺便出了一篇毕业论文。体验下来,相比于单纯做大作业/写论文,这种工作模式更亦可赛艇,毕竟能有肉眼可见的反馈和影响,这对自我实现还是很有帮助的。另外,这种开源模式非常省心,毕竟不用自己去摇旗呐喊做宣传了,能合并进入上游就是最好的证明:我知道开源是现有论文的标配,但一种是实现了然后开源在自己的项目下面,往往只有少数人知道和用到,另一种是就是合并给上游,而我显然更喜欢后者带来的影响力收益。

这次体验以后,我觉得一些搞工程的毕业论文完全可以拿着一些开源项目的老大难问题来修嘛。问题描述又清晰,影响又大(三年五年十年都没修的东西,项目维护者又忙,抽不出大段时间来修),完全可以发动广大同学拿一个学期去做掉(做不掉的毕什么业),然后广大同学成为了新一轮的维护者,双赢。

言归正传。在写论文的时候,我除了描述和解释「我的设计」,更想借此来表述「RISC-V 标量密码学指令集的设计」乃至「指令集的设计」.在这种情况下,公开的毕业论文既能让强相关的人员了解我的设计,也能让一些路人有些收获,所以这篇论文其实可以作为一篇博客或者教程,用具体的硬件和软件设计、一些例子和框图,来解释标量密码学指令集,毕竟指令集是抽象的,需要硬件和软件设计才能体现出来指令集的设计精巧之处。

我认为这是这篇论文最值得公开的地方。

论文在,有一些裁剪(例如签名页)。同时放出的还有答辩幻灯片(英文,较为简短)和开组会时的幻灯片(英文,较为详细)。

Bluetooth PAN Setup

缘起

由于我有部分设备没有 RJ45 接口,我也不想买扩展坞或交换机,于是准备在无线上下个功夫,可惜清华的无线网络过于拉跨,除了巨大的延迟与延迟方差,还有认证和下线等问题,实在难受。

我日常会将我的键盘和鼠标「ssh」 到别的机器上(类似于要聚餐了我 ssh 过去吃饭),所以对延迟非常敏感。如下图,我用左边的上古机器(上古机器的键盘真的舒服啊)ssh 到右边的平板(没有 RJ45 接口)聊 Telegram。

这时我注意到了我的机器上基本都有蓝牙。由于我的内网机器都是 Linux 机器,所以自由度还是很大的,于是开始了解相关概念。

Read More

将 Kindle 作为状态屏

前言

最近又开始摸鱼。很久以前有个通知中心的想法(目前这个想法在另一个项目中实现),主要是我注意到我拥有的屏幕并不少(手机平板小电脑Kindle),那么怎么显示这些通知呢;在想这个想法的时候,突然发现,我的 Kindle 还没法自由掌控呢,于是我开始折腾。

然后有幸越狱(最近刚出了一个利用方式,影响范围还很广,很久没开机的 Kindle 可能都可以利用),有幸拿到 ssh(指中途被自动更新打断差点吓死),有幸摸清了一些服务,有幸找到网络上一系列 边边角角 的技术讨论,结合自己一些 Linux 使用经验,整理了以下路径。

此处是博文,本项目地址在 https://github.com/ZenithalHourlyRate/kindle

Read More