2023.04
2022.11
-
灯谜课Finished!(达成目标+1)
我曾经担忧着,我会不会因为选择软工这样的专业而变得机械化?语文课的消失,又会不会让我和文化、和文学的表达渐行渐远?灯谜课的出现,化解了我的担忧,更让我看到一个基于汉字却又以不拘泥于固有的表达范式的规则构建的文化世界。
其实刚开始我是被灯谜课“没有考试且没有期末论文”所吸引的(当然这是一个美丽的误会),从此以后我便一直在赏谜、猜谜、作谜的循环中痛并快乐着。说实话,很烧脑,很开脑洞,甚至我一度怀疑Lily给我的九环套月难度也不过如此;但那又是一种充满着别解与突转的逻辑之美,当你猜射中出谜人的思路与意图时,抑或是一条好谜的谜底被放出来时,除了恍然大悟的惊叹,你更会为其中的脉络与意境,看它几十遍都不够。
我以前开玩笑说,
鉴赏灯谜和玩Linux一样,是会上瘾的
。现在想来,此话不假。此外,灯谜课的背后,更是一场关于汉字的穿越旅程。开始是离合谜种大量繁体字形与象形字形的运用,后来更演化成一棵枝繁叶茂的汉字巨树。灯谜的倒二节课,一场场述演讲述一个个来自汉字的故事,每一个都令我称奇——虽然我没准备好,演得有点拉胯;最后一节的谜会,创意无穷,掌声无限。
然后,灯谜课结束了。那浩瀚的谜海,将由我们去遨游;或者,我与灯谜的故事,不再如此精彩。
然而,那些”秋老虎”们永远不会离开,最起码,它们给我的文化烙印不会就此飘散…
2022.10
10.10
一直很好奇C输入&输出缓冲区是在用户态还是内核态,今天程算课上写了个程序做实验:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int putchar(int ch);
char my_getchar(void)
{
char ret = '\0';
read(FD_stdin, &ret, sizeof(char));
return ret;
}
int main(void)
{
char ch;
while((ch = my_getchar()) != '\n')
putchar(ch);
putchar('\n');
return 0;
}直接使用系统调用绕过可能存在的用户缓冲区,倘若出现和
getchar()
相同的结果,则缓冲区在内核态。运行结果如下:
那么缓冲区有可能在内核态…不对啊,那像
getch()
这样不用回车键的函数是怎么工作的?
2022.09
09.29
小改了一下网站,字体问题终于解决了。
本来打算使用google fonts,然而字体显示不出来的bug改了一遍又一遍都解决不了,一怒之下把字体文件直接搬到网站里了——Ubuntu字体本身不是很大,所有样式加起来有4MB左右;但有GitHub人尽皆知的网速拖后腿,我的网站要等一段时间才能换成自己的字体。
不过我实在不想折腾了…能用就行吧。
09.28
又是肝网站到半夜的一天啊。。。
用熟Butterfly之后就打算迁移了,顺便把本地服务器换成了主机可以访问的
Ubuntu+KVM
。撘环境、装主题、做配置,我忙得不亦乐乎,时间一转眼过了十二点。由于更换了环境,旧文章还没来得及整理,看着随便一点就进去的404页面,我不禁陷入了沉思 ……
emm… 这迷路的样子跟某一句话好像啊……
于是,我在GitHub里一通乱敲,404页面变成了这个样子!(当然现在变回来了)
(不过Butterfly怎么调用外部字体啊…