Pensieve: 2210

2022-10-21 15:35

所观所读所玩所听

这个月图书馆书只读完了一本莫言的短篇集, 和之前读过的莫言对比没大区别. 不过里面有一句话我还是很想引用的:

一个社会的败坏总是与文风的败坏相辅相成,浮夸、暴戾的语言必定会演变成弄虚作假、好勇斗狠的社会现实。反过来说也成立。

深以为然.

这个月游戏时间不多, 大都花在了Olli Olli World上, 本来还以为是一个相对轻松休闲向的游戏, 上手后才发现里面那些滑板动作的触发需要街霸一样的组合键, 还好竞技性不太强, 主要是和自己较劲, 所以目前还能继续. 另外花了一点的时间是iOS上腾讯家的武汉麻将, 发现现在的AI进步比较大, 相比之前基本不会打麻将的机器人, 现在的机器人已经能够和人有来有往了. 时间所限, 没特别玩下去.

OReilly上读完了Absolute FreeBSD, 作者喜欢憋冷笑话很讨喜, 内容也过得去. 很多描述让我想起了当年在网易维护BSD机器的故事, 比如那个时候还在用pkg_add, 有一项工作是升级到pkgng, 现在这本书里都说pkgng都已经成为事实标准, 被重命名为pkg来避免误会了. 刚入职的时候还维护过比较老的6.4的机器, 现在版本都已经到13/14了. 这本书里另一个让我印象深刻的是它仍在大量使用sysadmin这个词, 虽然这个词在日常见到的职位描述里已经越来越少, 但是经历了这么多title, 我仍然认为自己只是一个勉强合格的sysadmin而已.

这个月没特别听什么音乐.

mini PC

这个月入手了一台mini PC, 折腾了一堆东西, 记录下.

购买链接在此, 具体型号为ASUS PN50E1配4700U的CPU, 套装里还包含了16G内存和500G硬盘, 这个硬件配置对现阶段的我来说已经溢出了, 而且后续可升级性也还好. 购买这台主机的主要原因是自己想写点东西, 但是在单位电脑上开发可能会带来一些版权上的困惑, 用自己的电脑放心一点. 另外, 我有一台2013年左右的Macbook Air, 这台的主要问题是硬件相对老化, 配置有点跟不上, 尤其是自己想折腾多个操作系统的话硬盘空间比较紧张. 反正这台机器也谈不上特别昂贵, 买了就买了.

硬件组装很容易, 内存和硬盘十分钟就搞好了. 后续系统安装时出了不少问题. BSD下能认出的硬件就只有CPU/内存/硬盘, 我也没指望BSD的驱动很全, 看到无线网卡和蓝牙都没识别的时候我一点惊诧都没有, 不过等我哼哧哼哧地把机器搬上楼把网线直接连接了交换机后才发现有线网卡也没驱动. 好吧, 下载驱动, 放进U盘, 安装, 终于连上网了. 下一步是整无线网卡驱动, 这台机器买之前没有好好做功课, 买之后才发现是用了MTK家的7961e芯片, 特点是网卡和蓝牙在一起. FreeBSD不支持这款芯片, 不过用wifibox搞定了. 原理大概是用Bhyve虚拟一个Linux出来, Linux内核加载这个芯片的驱动并当桥给BSD提供网络连接. 然而, 我没搞定蓝牙, 原因就是没有驱动. 我也不完全确认在Linux虚拟机里面工作的这个无线网卡驱动是不是会对蓝牙有影响, 毕竟硬件上这是一个芯片. 我试过去掉无线网卡和wifibox, 但是蓝牙仍然不能正常工作. 这个事情让我纠结了一段时间, 还在本地的电脑商店里逛了几圈, 甚至还想过自己要不要去做个在现代一点的BSD下能够用的蓝牙dongle. 还好后来一觉醒来觉得还是先专注自己想要写的代码.

于是我回头去找Linux了, 找来了Slackware, Kubuntu和OpenSuse. 一开始装的是Slackware, 毕竟是自己心头所爱, 但是装了一半我发现我不像十几年前的自己一样那样在乎系统上是否有这个包那个包了, Slackware几百年不变的TUI安装界面也击败了我. 最让我惊讶的是这么多年之后, Slackware仍然在使用[lilo](https://en.wikipedia.org/wiki/LILO_(bootloader)/elilo. 我也觉得我没心境再去折腾xorg了, 于是我转向了Kubuntu. 用liveCD/USB进去看了一圈, 感受还算正常, 而且可喜可贺, 无线网卡和蓝牙都能正常工作. 于是我就回头去装OpenSuse了, 不是说不喜欢debian系, 而是YasT实在太省心. 安装后用了一段时间才发现这个7961的驱动还是有问题, 偶尔启动后蓝牙设备完全不可用, 不过重启就能解决, 我懒得再去细究, 每次重启一次就行. 而且我从Leap升级到了Tumbleweed, 希望跟进最新的驱动能够有所帮助. 目前这个问题仍偶有出现, 不过还能接受.

说回自己想写的东西, 我在学rust, 想用rust写一个shell出来自己用. 目前的小目标是能够用rust解析bash的语法生成一个ast. 我发现了pest这个库, 用起来很方便. 而且, 读这项目的Book也很有意思, 让我对语法解析有了一些新认识. 现在的进展是完成了这儿列出的所有语法规则, 写了一些简单的单元测试. 不过我在测试的时候发现这个posix文档里列出的规则不完全不完善, 解析一个正常的bash脚本都会有报错. 所以我还在完善这些语法规则, 并添加更多的单元测试.

amaroK

如果你没听说过, 也算正常, 不过amaroK是一个Linux下KDE桌面环境里的一个音乐播放器, 我还在学校时曾用过很长时间. 说起来我第一件技术方面的文化衫记得是在学校参加一个Solaris活动时拿到的, 而第一件自己买的文化衫就是amaroK的(当时没有网店还需要银行转账付款). 最近又装上时却是大失所望. 之前很丰富的功能现在基本只剩下一个音乐播放了, 导入的alac编码的音乐默认不能播放而且不告知为什么. 打开后播放的第一首歌一定没声音, 第二首就正常了. 最让人不快的是我手贱在设置里面打开了Script console后就关不掉了, 关闭时crash, 改掉配置文件也没用, 而且每次启动都会打开这个窗口. 实在让人摇头叹气. 随手v2上搜了一个播放器装上先用着了.

FreeBSD vs Linux

最后扯点虚的, 说FreeBSD和Linux.

我开始重新对FreeBSD感兴趣是因为其他操作系统让我不满意. Macos已经好久没有内部机制上的更新了. Windows的cli永远是一个问题, 而且安全也是另一个需要考量的因素. Linux的社区分裂得比世界上的国家还要多得多, 桌面环境(KDE/GNOME等)的发展也基本陷于停滞. 另外, Linux内核开发已经到了只知道Linus而不知其他贡献者的地步了, 长期来看, 这不算特别健康. FreeBSD作为一个相对小众, 由一小群高素质hacker维护的精英社区, 我觉得更值得信赖. 这个社区因为协议上的限制, 对一些非开源的硬件实在不算友好. 这也是一些桌面级的硬件在FreeBSD下的驱动支持都很头疼, wifibox这样的项目只能头疼医头, 不能药到病除. 对于大多数商业环境下使用FreeBSD的用户而言这不算大的问题, 但是对于从桌面入手的用户而言就不是好消息了. 所以, 这个项目注定不会得到特别广泛的关注和个人使用, 当然, 这不是缺点. 因为有意无意地设置了这样的门槛, 这个社区保持一定程度的纯净性.