博客需要经常整理。正好这两个月都很闲,今天就清理一下博客里的旧文,把它们移动到这里,顺便关于每篇博文说点闲话。

这里撤掉的文章,都是质量很低,而且对别人没什么帮助的类型。其实我之前也清理过几篇文章,不过是直接删掉,现在想想有点后悔。

文章格式都是原始 Markdown 文档,感兴趣的同学也可以自己用 Jekyll 或者别的工具转换成 HTML。

使用 GitHub Pages 搭建 Jekyll 博客

这篇文章可以算是开博第一篇。我之前可能想要文艺一下,写个 “Hello, world!” 之类的,后来发现自己完全文艺不起来,没法像奶冰那样淡定写大段散文,就不发出去自取其辱了。

从最短路问题看广度优先搜索

我在大约初一暑假开始搞 OI,理解了棋盘式广度优先搜索之后,就写了这篇当笔记。这文章也许对学算法的同学有帮助,但对算法的深层原理只字未提,也没解释好出现的术语,所以还是不要拿出来了。

至于深度优先搜索,我自认为对它的理解还不够,就不写了。

如何不用止痛药缓解内存不足导致的头痛

这篇主要讲开启 ZRAM+SWAP。文章没什么意思,真要开 ZRAM 还不如去看 Gentoo Wiki。然而说到 ZRAM,就要说到缺内存的问题,这就好玩了。

我经常用内存容量只有 4GiB 的电脑。现在用这种电脑玩 Minecraft,不开 ZRAM 的话后台绝对不能挂大程序,除非把给 Java 进程分配的内存调到很小(但是这样游戏会频繁回收内存,一步一卡十分潇洒),不然就等着触发 OOM(某些系统在内存耗尽时触发的保护机制)吧。开了 ZRAM,就能同时开游戏和浏览器了:玩游戏的时候,后台浏览器挂着 Wiki 页面,系统给浏览器以及一些别的程序占的内存压缩一下,剩下的内存也就够 Minecraft 运行了。想查 Wiki 的时候,把 Minecraft 切到后台(在低端电脑上还要加上个 SIGSTOP 信号,防止游戏继续占 CPU 资源),点下浏览器,稍等它的内存解压,就能愉快地看 Wiki 了。

给电脑配 4GiB 内存这事,真的不能怪我“短视”。要知道,4GiB 内存放到十年前,简直过剩到能拿来开内存盘;现在 8GiB 内存可能可以畅玩上世代的大型游戏,但不一定能流畅上网,毕竟后台挂个 IM,再用浏览器随便打开一个页面,大约 800M 内存就没了。如果算上操作系统占的内存,如 openSUSE Leap 15.3 KDE Live 空载的大约 900M 内存(合计下来 IM 和浏览器在一起的体量,都比得上操作系统了),加起来将近 2GiB ——更何况 openSUSE 的 Live 系统极度精简,平时用的系统占内存基本只可能比它的多。内存不够用的问题,实际出在我太久不换电脑上。

电脑不必换,但可以升级啊。写代码要开很多浏览器标签页查文档,用 4GiB 内存实在太痛苦。我现在用的电脑是这样的:

                 `-++:`                    blockcity@mrk4
               ./oooooo/-                  --------------
            `:oooooooooooo:.               OS: openSUSE Leap 15.4 x86_64
          -+oooooooooooooooo+-`            Kernel: 5.14.21-150400.22-default
       ./oooooooooooooooooooooo/-          Uptime: 5 hours, 59 mins
      :oooooooooooooooooooooooooo:         Packages: 3138 (rpm), 7 (flatpak)
    `  `-+oooooooooooooooooooo/-   `       Shell: bash 4.4.23
 `:oo/-   .:ooooooooooooooo+:`  `-+oo/.    Resolution: 1600x900
`/oooooo:.   -/oooooooooo/.   ./oooooo/.   DE: Plasma 5.24.4
  `:+ooooo+-`  `:+oooo+-   `:oooooo+:`     WM: KWin
     .:oooooo/.   .::`   -+oooooo/.        Theme: [Plasma], Breeze [GTK2/3]
        -/oooooo:.    ./oooooo+-           Icons: [Plasma], breeze [GTK2/3]
          `:+ooooo+-:+oooooo:`             Terminal: konsole
             ./oooooooooo/.                CPU: Intel i5-2550K (4) @ 3.800GHz
                -/oooo+:`                  GPU: AMD ATI Radeon HD 7450
                  `:/.                     Memory: 2733MiB / 11894MiB

如你所见,内存问题暂时不大,但还是没摆脱硬件太旧,连 PCI 直通都搞不了的问题。

Lucent 经常说我平时就喜欢 RetroComputing(“复古计算”的名字怪怪的,所以暂且让我喊它英文大名吧)。我想说的是,我虽然对老硬件有点兴趣,但也没有痴迷到拿上世纪硬件组装主力机的程度。我之所以当了手机必用三年以上、电脑能用十年的钉子户,主要原因不是为了环保(虽然可能有点因素在里面吧),而是——穷!

低端人口是免不了被歧视的。我存了篇文章,打算在他们看不起我的时候丢出去,可惜一直没找到机会。

丢环保文章可以掩盖穷的事实,却解决不了围绕“穷”的现实问题。谈“穷”,就非得谈各种不平衡,如教育资源分配、地方经济发展的不平衡,但是我并不打算在这博客里说,毕竟要是写篇这样的文章出来,我整个博客都得被端了不可。

用简单的方法合并音视频流

这篇就是纯粹的水文了。之前我用 C558 手机开热点,也顺便在里面装个国际版 Bilibili,下载点视频看。现在旧版 Bilibili 都不让登录了,我就放弃了用客户端看视频的念头,直接在手机上装个额外的浏览器,改个桌面 UA 专门看些强制手机用户下载客户端的网站。想下载视频的时候,用 youtube-dl 就行了。

交叉编译 Busybox

给 PocketCHIP 编译过几次程序之后,我就发现之前文章里的交叉编译那么简单,大概只是因为 Busybox 没有那么多依赖库。我给 PocketCHIP 编译 RetroArch,实际上是在 PRoot 容器里进行的:只要提供个 qemu-user,就能让 PRoot 跨架构开容器,用着感觉和真机上开容器一样,拿来给特定系统做交叉编译,也就完全不用折腾复杂的环境,只可惜 qemu 模拟效率很低,性能大约只有百分之五。之前 Lucent 让我试下 crosstools-NG,不过我还没学会用。

不过 PRoot 貌似不怎么流行,很多发行版都没打包。之前有人线上借树莓派(给普通同学解释一下,那是一种单板电脑,不是吃的东西),竟然只是为了运行一下路由器里提取出来的 ARM 程序,我惊呼“你们没用过 PRoot 吗?”,然而他们不搭理我,还继续捣鼓树莓派,大概是因为还没学到“图灵完全”的概念,以为 ARM 环境不能模拟吧。如果有同学知道为什么 PRoot 这么冷门,可以写封电子邮件告诉我。