我想建立个人 wiki

我建立这个博客的初衷是记录一些网络上可能没有直接记载的信息,而不知道这些信息在某些时候可能会导致踩坑,或者要绕很多弯路才能找到最佳实践。所以,我的博客内容很少是单纯的内容整合,而是针对具体的问题提出网络上暂时不存在的解决方法或者讨论。但是,近来我发现,博客似乎无法很好地实现这个目标……

阅读全文

C++ 的神奇运算

最近同学问我,为什么他的程序跑的结果不符合预期,甚至跑出了非常离谱的结果,于是我们进行了一番调查。

简化后的程序如下所示:

1
2
3
4
5
6
7
8
int a = 2;
int func()
{
for (int i = 0; i < a; i++)
{
printf("i = %d, a = %d, i<a: %d\n", i, a, i < a);
}
}

当我们调用这个函数,并使用 g++ -O3 编译运行时发现,这个函数无限循环了下去,并且输出了 i = 231904, a = 2, i<a: 1 这样的内容,宣称 231904 < 2。

阅读全文

Cloudflare Tunnel 的使用方法

日日说不会用 CF Tunnel,就写一篇简单说明一下用法。

阅读全文

Fedora 系统部署 LXD

近来一直想着买台迷你主机,把家里的树莓派换掉,毕竟树莓派性能太低了,连测速都跑不满。要换的话,我可能会选准系统的迷你主机,然后开启一些虚拟机,这样能满足我折腾的需求。我看到比较合适的是 PVE,但我暂时没有可以安装的机器。另一个看起来比较有趣的技术是 LXD,看起来可以更充分地利用资源。虽然不知道什么时候能回国(毕竟装系统什么的都很麻烦,恐怕没法远程进行),但是就是想现在看看怎么折腾,就开了一台 Fedora 37 的云服务器,安装了一下试试。

阅读全文

使用 DisplayCAL 和 Spyder 红蓝蜘蛛校色仪进行屏幕校色的注意事项

最近药药买了蓝蜘蛛 Spyder X,我告诉他不要用配套软件,直接用 DisplayCAL。DisplayCAL 已经三年多没有更新了,软件不更新也会变质,有些东西直接按当年的步骤,就会出现奇奇怪怪的问题。因此我在此总结一下当前使用 DisplayCAL 和 Spyder X 的完整流程及注意事项。

阅读全文

将 Btrfs root 分区转换为 subvolume

Btrfs 是具有 subvolume、快照等高级功能的写入时复制(copy-on-write)文件系统。Fedora、Ubuntu 桌面版系统在安装到 Btrfs 分区时会为根目录 / 和 home 目录 /home 分别创建不同的 subvolume。但是,Ubuntu Server 默认不会创建任何 subvolume。本文介绍如何将 Btrfs 分区中的根目录转换为 subvolume。

阅读全文

用 GitHub Actions 和 Webhook 自动构建并部署 ASP.NET Core 应用

最近给自己的直播写了个弹幕后端,基于 ASP.NET Core 和 SignalR,实现非常简单。部署反而比预期麻烦很多,因为我之前自动部署的应用都是静态网站,这次要部署动态应用,就遇到了预料之外的问题。

最终,我选择了用 GitHub Actions 构建并推送到另一分支,然后触发 Webhook,由自己的服务器拉取构建好的新版本并重启应用更新。

阅读全文

用 Ubuntu Cloud Images 制作自己的云镜像(配置 cloud-init 的 NoCloud 数据源)

还是之前写过的,云厂商提供的系统镜像不好使的问题。之前写过《使用 iPXE 和 netboot.xyz 重装 VPS 系统》,但是,由于各种原因(如系统内存不足、国内网络不稳定等),其适用性受到了限制。这次改用了 Ubuntu Cloud Images,可以直接用 dd 命令覆盖系统盘,然后重装系统。

阅读全文

关于升级 MIUI 13 后无法打电话的问题

去年回国,买了小米 K40。年底回日本时,换了 cmlink 卡。在东京待机(隔离)时,用着没什么问题,到福冈后的某个时间开始不能打电话了。由于我打电话少,我是一段时间以后才意识到这个问题的。

阅读全文

关于树莓派上 Ubuntu Server 20.04 安装 HWE 的问题

结论:目前无法给树莓派上的 Ubuntu Server 20.04 系统安装 Hardware Enablement (HWE)。

阅读全文