首先迷迭香寄了。比预想中来的快了一些不过还是不出所料。其次,关于这个站的想法居然逐渐增长到快要记不住了。真是出我所料。

首先是一个结构调整。把大多数的见不得人的文章移动到一个隐藏分类下。这个分类的特别之处在于它是个逆模因,从主页出发没有到达它(以及属于它的所有文章)的链接。(关于这个分类要不要有一个自己的分类页还得考虑一下。)但是这个页面还是存在,手动输入完整网址还是可以抵达。(也许叫做九又四分之三分类更贴切些。)从而在某些鬼知道是什么的场合依然可以发挥proof of blog的作用。

我要是没搞错,Jekyll没有这个功能。我老早想要过这个功能,后来连我自己都忘记了。直到把定制的构建系统写好才又想起来。

(写到这里时被老板聊了几句。实在想象不到,还有七天的时候开始给OSDI新建文件夹。实在想象不到我(们)是怎么变成这样的。)

有了隐藏分类以后,其实大部分的内容就都成了隐藏分类了(悲)。默认分类可以暂时存放所有剩下的内容,根据其话题基本可以改为技术分类。嘛,不过要说技术就是我这个人的默认好像也合理。

然后是一个大型风光摄影分类。在此前的两年多里我一直断断续续地(想起来就)每天拍张上学沿途的景色。虽然此前也曾灵感枯竭到仰面朝天随机拍一朵正上方的幸运云,但是这回可能是真的不会再继续了。

(说起来,这个举动还有着一个很有时代背景的动机。在那个国内清零国外放开的阶段,我既想每天起床给家里报个平安,又不想每天把病毒挂在嘴边(尽管是因为还没生病),于是开始每天早上拍一张照发在空间。毕竟能出门就说明人还没事。不过已经现在这个时候了,这个动机显然也不再成立了。)

如上所述,这些照片全都在空间里。理论上我手机里应该也有一份,但是空间里偶尔也会配点文字什么的,所以还是倾向于从空间迁移过来。曾经在某一年的光棍节(如今已经变成了彻底的购物节了)给空间写过一个迷你爬虫,不过那时是为了自动化批量删除黑历史发言。不知道现在还能不能写得出来(甚至不知道现在网页版空间还在不在),写不出来就算了。

有了这个分类以后,这个站的形象就丰满多了,起码不再是一个由多半黑历史碎碎念组成的站了。积攒一定程度的能见人的资料也是这个站能在我手上活下去避免被推倒重来的一个重要方式。

最后就是今天刚想到的字体解决方案。我一直想调整一下字体,毕竟这个极简的主题也再没有太多的调整空间了。然而其实字体才是最没有调整空间的部分——在中文站上用网络字体实在是太理想化了,而各个操作系统默认的中文字体又只有那几种。不是说它们不好看,只是网站风格实际上全由它们说了算,我没什么能调整的。

于是我就想到一种压缩字体文件大小的思路。类似于TeX的参数字体,我们可以假设一个全平台可用的默认基础字体(最好是点阵字体,没有任何风格偏好),然后训练一个神经网络来给每个字添加字体风格的修饰。具体地来讲,压缩过后的字体数据包含三个组成部分:

其中加入一层embedding是因为Unicode编码显然不是为了加工字体设计的,它不能提供任何关于如何加工一个字的思路,所以就算把原始Unicode丢给神经网络它的用处也有限。有了embedding的信息辅助,就可以让神经网络做得比对所有字用同一个思路加工要更好。一定程度上,embedding中浓缩的是对一个字的整个处理思路(这个字要拉宽一点,笔画要粗一点,等等),而神经网络则是遵循这个思路对每个像素点的微操(笔锋是什么形状,每一笔写多长,等等)。这样一方面可以把神经网络和具体的字解耦开,从而获得更好训练、有机会搞点zero-shot的机会(比如给中文字体生成匹配的英文字体)等等好处,另一方面,不同的字可以有相同的加工思路,所以embedding可以是多对一的,从而更进一步地压缩字体文件的大小。

这个项目基本可以当个正经的科研项目搞了,除了跟我毕业没什么关系以外我对它还挺满意的。如果真的搞出来了,这个站大概一定会是全世界第一个(也许是唯一一个)部署它的网站吧。先不说神经网络那套我叶公好龙的部分,这玩意怎么实现在浏览器里,大块canvas绘制的性能问题和用户体验问题,我心里是一点数都没有。不过想到可以用Rust写WASM,稍微安心了一点。

先就这样吧。老地址重定向还没实装呢。分类/时间线页还没实装呢。标签功能甚至还没细想呢。真是开了好大一个坑。