aisuneko's 2022 Recap / Reflection

aisuneko's 2022 Recap / Reflection

2022 无疑是相当疯狂的一年,而对我个人来说也许比以往任何一年更重要:我在这一年中做了不少事情,收获了比往年还要多的新技能和新知识,也有了新的思考,体验和生活态度。

写年终总结已经是我的一个传统了。前两年的 recap 里我都是按月份盘点自己做过和经历过的事,但今年我想换个方式,不严格按时间顺序,非线性地写点东西回顾我的 2022。

Recap

所以今年做了什么?

  • 给家里组了一台低成本的 X79 服务器。虽然2022年玩垃圾硬件确实有点离谱,但这台服务器不仅很好的满足了我和家人的各种需求,也意料之外地成为了我几乎一整年中的临时工作站(见下文)。

    搭建和维护它的过程中也有了许许多多的第一次:第一次从零开始选购硬件和动手装机,第一次接触 Proxmox,TrueNAS,Alpine Linux 等和学会 self-host 各种五花八门的服务,第一次面对服务器上的各种软硬件异常状况,第一次深度使用和维护 LXC 容器,第一次配置软路由和自己编译 OpenWRT,第一次成功从损坏的分区里抢救数据…… 我也俨然从一个一般 GNU/Linux 用户进化成了见习 sysadmin。

  • 用 Python + curses 写了一个仿 htop 样式的 Proxmox VE 状态监控。这算是我的第一个正式 Python 项目,通过它学到了 configparser, argparse,pip 打包等等实用的 Python 开发技能。功能就比较简陋,but it works。

  • 暑假花五天时间用 PyQt5 写了个 Aard 2 的桌面客户端,只是因为不会打包/Qt WebKit 组件的依赖问题/内存泄露严重导致基本不能用;以后有时间肯定是要重写一遍的。我个人也很喜欢 Aard 2 这款 FOSS 词典应用和它所用的词典格式 slob,为此还发邮件给原作者 itkach 跟他探讨了 PyQt 和 HTTP 后端性能优化等方面的问题。

  • 暑假入门 Rust 和 gtk-rs (gtk暂时放弃了),用 fltk-rs 把我去年的一个相对分子质量计算器小工具用 Rust 重写了一遍

    Rust 虽然语法糖有点小多,要不停考虑 lifetime 和 borrowing 等等所以写着有点头疼但是真的香…… cargo 优雅强大,rustc 教你做人,而且它追求极致 robustness 和内存安全的设计决定了用它写东西基本不用担心性能问题,当然最重要的一点是 Rust GUI 应用的编译打包比 Qt 和 Python 简单多了。

  • 春节前后试着入门 Android / Kotlin 开发,但因为感觉太难弃坑了。快一年之后又重新捡了起来,这次使用 NanoHTTPD 库,研究了几个周末勉强做出了一个 LAN HTTP 文件传输 app 的雏形。基本就是个 PoC,以后有时间慢慢完善吧。代码暂时放在这里,反正还没做完。

  • 还写了一些小脚本,比如两个浏览器 userscript (也是我的 JavaScript 初体验) 和一个批量导出 MediaWiki 站点中的页面到打印版 PDF 的工具

  • 今年涌现了不少相当热门的机器学习项目,而我也借助 Google Colab 踏进了 machine learning 的大门。简单训练了一下 GPT-2 整了个小活,也玩了玩 Stable Diffusion/NovelAI 和 ChatGPT,养成了壁纸先丢进 waifu2x / Real-ESRGAN 里处理的习惯

  • 和 Reddit 上的两位老哥合作启动了一个项目:重置十余年前的魔圆同人游戏 Grief Syndrome。这是我第一次接触正式游戏开发,借此机会学习了 Defold 的基本用法(这个技术栈是我选的),也做了一点前期工作。好景不长,那两位老哥后来失去热情暂时退出了,而我打算一个人继续做下去,至少用他们已经提供给我的素材先写一个 demo 出来 - 不过要等明年了。

  • 随着我去年正式开始日用 GNU/Linux,我对开源社区的热爱也与日俱增,日常使用中也在慢慢学会用 FOSS 替代各种专有软件(见下文)。 比如我用 LibreOffice 就相当舒适,甚至在 Windows 上也不想再回到 MS Office 了。作为一名前 Ps/Ai 用户,通过自己摸索学会了 GIMP/Inkscape 的基本用法,也搞了一些设计,比如给 BlockcityTelegram 频道设计了头像(当然灵感是他的原创,我只是实现了出来

  • 玩了玩 PocketCHIP 之类的小众硬件。(其实我对单片机和嵌入式开发还是挺感兴趣的,看以后有没有机会正式入坑)

  • 电脑配置不够,玩不了绝大部分单机游戏(而且我连 Steam 号都没有),怎么办?玩了一些相对轻量的开源游戏,比如 OpenTTD,Simutrans,Mindustry,SuperTuxKart,AAAAXY 和 Space Trader。个个玩起来都真的很上头,有时一下子几个小时就过去了 - 开源游戏似乎有着自成一派的独特魅力。

  • 入门音乐制作,用 GarageBand iOS 做了一首 Progressive House虽然不少听众都反映这首更像是游戏 BGM 而不是独立作品)。以前就是多年 GarageBand 用户,但一直都是随便做点什么玩玩的,这首曲子的灵感就是来源于某天无意中在这里面弹出的一段旋律。寒假开始立项,花一个月做完了主要部分但又断断续续改了大半年,而且因为是完全在我的 iPod Touch 上完成的所以没混音(我也不会),不过作为我的第一首电音作品,我个人还是满意的…… 希望以后能用类似 FL Studio 这种的专业 DAW 学习真正的电音制作吧。

  • 作为一名新入坑的圆厨,看完《魔法纪录》的动画浮想联翩了很久。个人感觉其实还不错,但没想到这部游戏改的番风评普遍差劲,就为它写了一篇英文影评(后来又用中文重写了一遍)。前后写了将近一个月,中间在朋友的帮助和指点下三易其稿,算是通过这个机会好好治了治我的英文文风。之所以先用英语写是因为是第一次写番剧评论,总感觉有点尴尬

    后来我读了一些这个游戏的剧情,对它的世界观和故事很感兴趣,于是成为了一名… 云玩家(游戏本身不吸引我),比较厨环七梓,也经常混迹于 Reddit 上的 r/magiarecord 版。

  • 今年一共看了大约50部番,占了我入宅以来看过的番剧总数的约60%。 同时听歌也已经成了我的一种习惯,这一年收录进自己的音乐库里的歌差不多占了总数的1/4。 以前从来不看漫画的我也开始看了一点点,为此还专门在 PVE 上搭了个 Kavita 实例访问存在 NAS 上的漫画和电子书。

  • 今年看过的番,用 https://github.com/aisuneko/AnimeTierList 生成的;自己fork了一下。AniList是真的好用

Reflection (Thoughts?)

  • 暂时过上了相对清苦的 digital life。 随着今年三月那台陪伴了我七年之久的rmbp被没收(四个月后勉强拿了回来但发现供电坏了,开机(除启动到命令行外)会很快自动断电重启,也只能等高考完再拿去修了),我开始过上了在那台 X79 服务器上通过 RDP 日用虚拟机的生活。
    我现在用的 Arch 虚拟机;这也是我第一次接触 i3wm,之前在容器上是用的 LXQt。ricing 在 https://redd.it/yfpr5x,dotfiles 在 https://github.com/aisuneko/dotfiles

    一开始在 PVE 上开了一个 Windows 10 VM 和一个 Arch 容器,中间因为那上面插了一块拆机 GTX650Ti 便尝试配置显卡直通但以失败告终(具体可以看上面提到的那篇博文)。家里有一台朋友那儿嫖的 ThinkPad X230s,之前刷了 Ubuntu 给我父母当 HTPC 用;几个月后因故和他们起了争执,他们不愿继续使用并退给了我,正好这时 Windows VM 炸了,我就刷了 Windows 10 1809 LTSC(如果不是因为手边没现成的镜像就上 21H2 了),自用这台笔记本当主设备和连接到 Linux 环境的终端至今。

    这台 X230s 的暗病还不少,比如:风扇永远狂转且无法调速,不能通过 OS 重启(只能关机再手动开机)否则下次启动主板会 beep 并报 Fan Error (怀疑是上次维修时维修师傅的某些 dirty hack 所致);电池无法充电,而且只能一直插上电源,跟没有安装电池一样(忘了有没有尝试换过电池,好像是笔记本本身的故障);从睡眠中唤醒会导致 CPU 自动降频到 0.6 Ghz 左右,只能重启恢复…… 没办法,手上没有其他能用的桌面设备了。

    至于那个 Arch 容器,后来因为在 PVE 上尝试扩容虚拟磁盘时炸了就重开了个 QEMU VM。

    由于 LXC 容器的特殊性,拿它装桌面环境日用绝对不是一个好主意,可能会有很多用 VM 不会遇到的奇怪问题;所以没法用实体机上的 Linux 的话还是直接上虚拟机吧。我也是通过这段经历才体会到这一点的,血的教训啊!

    使用体验?就那样 - 局域网里 RDP 的性能还可以(只要两边都插着网线),但不时会出现各种卡顿和严重的 lag,如果是容器的话内存耗尽更是会直接 freeze,要么等相应的进程执行完要么重启…… 至于笔记本本身,只能说我已经不想再用 Windows 了…… 这一套 cursed 的配置导致我只能勉强做一点轻度的开发和图形工作,想做其他的只能望而却步。
    如果问我从这段经历中学到了什么,也许除了技术方面还有一个就是学会珍惜。以前用 rmbp 的时候一直在抱怨集显 (Intel Iris Pro) 的性能有多么差劲,动不动就会因显存不足(?)而五国(macOS 下的 kernel panic)- 现在别说集显,一张能用的显卡都没有,导致做什么都只能依赖那块十核 Xeon 软解,把玩机器学习也只能依赖 Colab。
    也许我只能等高考完才能换笔记本,到那之前只能继续这么凑合解决 computing 需求了。也许对我这种重度依赖电脑的人来说,体验一下这种寡淡的数字生活也不全是坏事?

  • 学业。 我不是很想谈这个话题,但还是简单讲两句:

    暑假补了将近一个半月的课后,我正式进入了高三。周末几乎无休止的补课和每天两点一线的生活让我对高中生活的厌倦与日俱增,甚至很认真的考虑过 run,不过由于各种原因恐怕近两年我都 run 不成了……

    之前发过一段话,浓缩了我对高中的大致看法:

    在中国读高中好比 crypto mining:学生好比一堆显卡在这三年中高负荷运转给学校挖矿,学了一些没啥实际用途的纯粹为了筛选人而学的知识(好比 mining 时做的无意义计算),最后也就培养出一堆矿卡出来

    也许这就是为什么我甚至在往 Gentleman’s C 的方向靠拢:作业尽量在学校完成,回到家就… 基本不学习,拿来钻研技术和做各种项目(甚至游戏也玩的比较少,也可能是因为没有配置足够好的电脑)。我当然清楚这里是中国,高考是绕不过的坎,而你不卷总有人会比你卷的多…… 我只是不想成为考试机器而已,觉得花过多时间在应试上真的没多大意义,毕竟高考一结束基本就会被抛之脑后当然我可能不是花的时间太多而是太少了。不过我也没那么摆烂了:平时考试排名都在年级前10-15%左右,虽然其他科目都不够出色(有些甚至一直都头疼),英语倒是年级数一数二的水平;只是我总觉得我能做的更好,自己也有一定的追求,对高考也还算有点信心。
    可能这也是为什么我一直都很憧憬大学生活:虽然早有耳闻国内很多高校的 CS 系至今还在讲 VC6 和谭浩强,但我觉得我大不了可以自学…… 而且可能是非 CS 专业就不读了(。 也许我需要的只是一个能为自己真正热爱的事情去“卷”的环境吧。但在这之前还是希望自己能安然度过剩下半年的高中生活…… 时光飞逝,甚至高一仿佛还在昨天。

  • personal wellbeing。今年几乎每天我都会熬夜到凌晨一点左右,以前没有这样的 routine…… 至于熬夜干什么呢,反正不是在学习。也许主要是这个坏习惯让我今年的身体状况似乎不如往年。其中我延续多年的一个老毛病更是恶化了不少:上课犯困(其实不是直接因为熬夜导致的;从初中开始就有这个现象,试过早睡,吃薄荷糖等等都没根治,甚至让我一度怀疑自己是不是 narcolepsy 患者)。我的这一现象甚至严重到我“英语课上课睡觉都能拿年级第一”在班上已经成了段子,更是有几次被老师和家长针对此事批评过…… 不过11月开始这一症状有明显好转;在同学的建议下,我实验了几天发现只要早读我努力克制自己不犯困,接下来一整天精神状态都不会查到哪里去,于是我尝试逼自己清醒起来,情况也就这样渐渐有所改善。不过还是希望我能尽快改掉熬夜的坏习惯吧…… 说白了,之所以熬夜很多时候还是为了去卷自己真正喜欢的东西。我发现我的工作态度似乎是纯粹以兴趣为导向,虽说如果工作内容正好与自己的爱好有关那会是很不错的助力,但在其他场合就未必了。Is it a bug or a feature?

  • 逐渐拥抱 FOSS 和开源社区。还是 macOS 用户的时候就已经接触 GNU/Linux 和其他开源项目了,只是我一直都没有所谓”开源洁癖“,还是在开心地用着 MS Office,Adobe 全家桶等专有软件的破解。但目睹了近年来科技巨头从侵犯用户隐私到想方设法恰烂钱的诸多劣迹之后,我越发觉得宇宙的尽头是开源生态,而上述那些专有软件的很多 FOSS 替代品在各方面也不逊色。

    其实去年我就用英文写过一段话,表达了我对当今科技领域的担忧;可惜这里的不少内容正在或者已经成为现实:

    Imagine a world without open source and free software. Without organizations like GNU & FSF, OSes like Linux/BSD and most of the FOSS we all enjoy today.

    Imagine a world where you must pay a hefty price for every (sometimes backdoor-implanted) software you need.

    Imagine a world where all mobile apps are extremely bloated, resource-hungry, permission-thirsty and inundated with tons of ads.

    Imagine a world where planned obsolescence is taken to the extremes and even the newest hardware can’t run smoothly with the proprietary OSes and applications that monopolized the entire market.

    Imagine a world where companies neglect issues users encounter and calls for less bugs and more improvements on their software.

    Imagine a world where governments and corporates are actively conspiring against the masses to steal their data and conduct mass surveillance.

    Imagine…… a world in which we are deprived of our freedom and independence on computing and technology: The real technology apocalypse.

    至少现在日用 Arch(等我换笔记本就绝对不会再拿 Windows 作为主环境了)和 LineageOS 的我是相信这一点的:在这个科技公司的垄断无限渗透,用户的 computing 自由被一点点蚕食的时代,开源软件和开源社区虽然不甚完美且问题不少,但也许是我们最后的希望。

  • 见证了也许是有史以来最疯狂的一年。 今年发生的各种大小事件真的不好评价,但我总觉得这个世界在变得越发撕裂和混乱,逐渐走向崩坏……
    从 COVID 就可见一斑;说实话,不知道这场闹剧何时才能收场:这一年内我目睹了国内(至少在十二月前)无止境到 utterly irrational 的各种管控措施(比如我暑假在学校补了两周课又直接因此上了一个月网课),做了不知多少次核酸检测,见证了国内在 2022 的最后一个月突然 “放开” 后 endgame 式的疯狂与同龄人之间的恐慌……

    upd: 十二月学校也因此封校,我被迫体验了几天的住校生活,这篇文章也差不多有一半是在封校期间写的。写完这篇文章的第二天早上,我 ART 阳性了。说实话我只想笑 - 三年间我没有接种过任何 COVID 疫苗,现在终于感染,症状却无比的轻,甚至没发烧……. 我还是觉得 COVID 可以被称为一场闹剧,“抗疫” 三年,人们却逐渐失去了本该属于他们的自由。至少我终于回家了,不至于在学校跨年了

    难以想象我们的下一代会面对一个怎样的世界……


啊,写的有点多了…… 也许这一年确实值得我大书特书吧。
2022 对我来说确实是无与伦比且重要的一年,而这一年里我的所见所闻、所做所感想必也会在我的人生中留下一定的印记。
送走 2022,即将到来的 2023 年也许会是我人生中新的转折点。我会如何渡过高考的难关,开始下一阶段的人生?说实话,我也不知道。

还是要感谢这一年中陪伴过我的所有线上线下的朋友们;没有你们,我的生活想必会减色不少。最后,也是最重要的:感谢读到这里的屏幕前的你。

明年见。

aisuneko | 2022.12.23