蛙泳换气踩坑记录

这学期选了游泳零基础班作为体育课。一开始的时候只是略低于平均水平,但到后来学习换气的时候,在 20~40m 左右卡了很久,最后能连续游 50m 比班上倒数第二晚了三节课。

在体育方面会垫底是我预料之中的,但比倒数第二差太多,长期和班上同学分开上课,还是挺难受的。但是,这段经历也让我有了丰富的失败经验(,可以水一篇踩坑记录,幸运的话可能还能在未来帮到某人。

普物实验 TeX & R 急救指北

这学期选了物理实验B。

以前基本上只在 Markdown 里写 LaTeX,没怎么写过 .tex,R 则完全没有接触过。理论上我应该好好学一学再用,但实际上没时间好好学。总不能用 Word 写实验报告并且手算吧(

这里总结一下我写实验报告用到的 TeX 和 R。

探究 gcc 浮点数精度转换所使用的指令 —— use_vector_fp_converts 优化

在学习 浮点数精度转换指令 时,CS:APP 里提到 gcc 并不使用 vcvtss2sd/vcvtsd2ss,而是使用 vunpcklps & vcvtps2pd / vmovddup & vcvtpd2psx,但是我使用 gcc 12.2.0 编译得到的结果就是 vcvtss2sd/vcvtsd2ss。对此,CS:APP 没有深究:

It is unclear why GCC generates this code. There is neither benefit nor need to have the value duplicated within the XMM register.

但是 CS:APP 选择放弃反而会激发读者的斗志啊(

虽然但是,我确实没想到这玩意会让我断断续续搞了三天,ddl 又要寄了 🌚

CS:APP 第七章学习笔记

CS:APP 第七章“Linking”的学习笔记。

这章的主要内容为程序的链接。学习链接有助于:理解链接报错,避免链接相关的 bug,理解变量(函数)的作用域,理解程序运行过程中与链接相关的步骤,了解如何使用共享库(动态链接库)。

CS:APP 第四章学习笔记

CS:APP 第四章“Processor Architecture”的学习笔记。

这章的主要内容为一个简化的指令集 Y86-64 的设计以及 Y86-64 处理器的实现(顺序实现和 pipeline 实现)。

CS:APP 第三章学习笔记

CS:APP 第三章“Machine-Level Representation of Programs”的学习笔记。

这章的主要内容为汇编(machine-level programming)。

CS:APP 第二章学习笔记

CS:APP 第二章“Representing and Manipulating Information”的学习笔记。

这章的主要内容为 byte、整数和浮点数的存储及计算。

CS:APP 学习笔记系列 序

想开一个 CS:APP 学习笔记的系列,感觉还是有一些东西需要在系列开头简单说一下,所以有这篇序。

初学 Rust

早就想学 Rust 了,但一直咕着。这次小学期的程设训练开了 Rust 课堂,就毫不犹豫地选了,也以此为契机学了 Rust。

这篇就是简单记录一下大体上的学习过程,如果有什么心得体会、经验分享之类应该会开新的文章。

顺便也算是程设训练的游记了(“游记”这个词来源于 OI 时期的习惯)。

busuanzi 访问量统计与 live2d 插件同时使用导致 busuanzi 不显示的根本原因以及解决方法

昨天在一位网友的 Hexo 博客遇到了很诡异的 busuanzi 访问量统计不显示问题,经过一番研究发现是 busuanzi 代码的一处问题和 live2d 插件的一处问题凑在一起导致的。

今天在写博客之前先搜了一下“busuanzi live2d”,发现搜出来一堆结果,我还以为我白研究了..结果点进去一看,第一页结果里没有一个指出了问题的根本原因,而且修复方法基本上都是删 feature 或者换组件,但实际上只要知道问题的根本原因就可以在不妨碍正常功能运作的前提下进行修复。所以昨天晚上没白忙活,我这篇博客还是要写的。