2024 年度总结(附解谜红包)

  • ~5.46K 字
  1. 1. 开源
    1. 1.1. 数数新开的坑吧
    2. 1.2. 然后是维护工作啊
    3. 1.3. 至于团队协作嘛
    4. 1.4. 以及参与的社区项目
  2. 2. 数码
    1. 2.1. 关于网络设施
    2. 2.2. 关于云服务
    3. 2.3. 迁移至 Arch Linux
  3. 3. 生活
    1. 3.1. 旅行
      1. 3.1.1. 南京夫子庙
      2. 3.1.2. 杭州西湖
    2. 3.2. 云村
      1. 3.2.1. 年度歌单
      2. 3.2.2. 双人报告
    3. 3.3. B 站
  4. 4. 心愿卡
  5. 5. 2025 解谜红包

开源

先上 GitHub 钻石图:

虽然总体上依旧比不上各位佬们,但 2024 年的编码量总体还是比较充足的。当然这一年电子类就玩得少了,更像所谓的『EE 最好的出路是转 CS,少走十年弯路』的样子了。

然后再看看每月统计:

整体上都不错呢。不过大概是今年下半年课程太过阴间的原因(总之就是不建议任何人来读南邮的通工!),11 月和 12 月的编码量就明显下降许多了。好吧好吧,也有不知道开什么新坑的原因吧……确实越来越不知道该做什么了……

猜猜今年写什么语言最多呢?

是 Rust 哦!R 门!

数数新开的坑吧

首先是打印相关的坑:

  • winprint.rs:调用 Windows 打印机的 Rust 库(其实不完全是新坑,有一部分 Demo 级别的代码大概在 2021 年就写了,只是一直在咕咕咕)
  • print_raster.rs:解析打印栅格数据(CUPS Raster & Apple Raster)的 Rust 库(这个就真的是新坑啦)
  • ipp-sharing:用于将 Windows 打印机共享为 IPP 打印机的小工具

打印相关的坑基本都是为了共享打印机而开的,因为 Windows 默认不支持以 IPP 2.0 协议(driveless 形态)共享打印机,所以一直(大概 2021 年起)就想写一个这样的工具。不过因为有把打印机连接到这个的电脑上(家)、用 Linux SBC 和 CUPS 作为打印服务器(社团活动室)的替代方案,就一直咕咕咕了~后面大概是因为受不了某些专有 Linux 打印机驱动的故障率,才又把这个坑捡起来的。

用自己写的 IPP Sharing 工具,配合从海鲜市场收到的廉价 Win 平板(具体来说呢,就是 127 元的 PiPO X8),比某些闭源 Linux 打印机驱动要稳定得多啦~顺带还可以得到一个触控交互界面,用于处理缺纸、手动双面打印之类的事情呢。

然后还去玩了一些奇怪的东西,写了个极其混乱的小爬虫,通过 开往 友链接力平台,简单分析了一下友链数据与【六度分隔理论】的符合情况:

再就是,Hexo 用户当然要折腾一下 Hexo 生态啦~

  • hexo-shiki-highlighter:使用 Shiki 作为代码高亮器的 Hexo 插件,可以做到和 VSCode 同款的准确性哦
  • hexo-auto-excerpt-rebirth:一个更加灵活的 Hexo 自动摘要插件,这样就不用看 strip_html 生成的奇怪摘要了

最后,课程相关的坑:

  • njupt_score_pusher:南邮成绩推送服务,再也不用在期末周天天刷教务系统啦!

然后是维护工作啊

只开坑不填坑,那不是好孩子。嗯……有些坑确实还没填就是啦,别催啦。

首先是,年初整理了一下 DictationAssistant (2013-2024) 的代码并开源了出来。看上去似乎完全没有什么工作量呢。这个项目大概算是写的最早的可以算得上是 Application 而不是 Demo 的东西啦,虽然咱已经大学了那基本上就没啥用了(这个项目用于辅助 K12 阶段时候做听写训练)。

然后的话,继续更新 njupt-wifi-login,把日志轮替(Log rotation)、接口绑定(Interface binding)等功能加了进去,以适应更多的使用场景。现在已经在我的路由器上无人值守运行了半年啦,赛高!

对于 action-wait-for-workflow 这样的小玩意也得到了一次更新,还发现了 GitHub Actions 的一些有趣的特性:利用 GitHub Actions 处理 Pull Request 的细节

stm32tesseract 也在继续维护,着重优化了在纯大陆普通网络环境下的使用体验(虽然还是比不上环大陆地区的使用体验)。作为一个简单的环境配置工具,STM32Tesseract 今年被 CAST(南邮通院科协)推广使用,也收获了许多反馈与建议,在此表示感谢!

同时也维护了一下 MMKV.NET,把自动过期、枚举数据等功能加上啦。提交记录在 2025 年但是在春节前,就算在 2024 年度总结里面啦。要不然大概没东西可写了呢(逃

至于团队协作嘛

继续在校科协打杂,做了些关于 sast-evento 的边缘工作,修了一些杂七杂八的 bug,然后搓各种奇怪的 CI/CD 配置。要变成流水线仙人的模样啦,不要啊!

当然这中间还有些好玩的东西,比如:

以及参与的社区项目

又名:到处乱提的 PRs/Patches(逃

首先是给 CMake 提了个 MR #9348,允许通过 file-based API 获取配置了 CONFIGURE_DEPENDS 的 glob 表达式,以允许 IDE 等工具在新建文件后自动刷新配置。不过事实上写一半就开摆了,拖到现在还没给 vscode-cmake-tools 等 IDE 侧工具链提 PR 呢(逃

接着呢,给 LLL (Lenovo Legion Linux) 项目提了个 UI 优化的 PR #189,使得其 GUI 界面可以在我这样的高缩放用户下完整显示出来。

然后就是水了个 Linux Kernel 的 commit linux@31855545,修复了 Legion Y9000X 2022 IAH7 内置扬声器在 Linux 下无声音的问题。当然对于中断的处理方法最终采用了 linux@762eba70 的方法:忽略注册失败的中断(根据与维护者的讨论,如果像我之前的方案一样按 DSDT 表的中断类型注册中断,似乎也无法正确生效)。

同时给 zeroconf-rs 提了 PR #56,给 bonjour-sys 提了 PR #4PR #7:这些 PR 使得 zeroconf-rs 可以支持在 Win x86 平台(而非 x86-64 only)上正确使用 Bonjour 服务,也是配合打印机服务的需求而来的。

继续水 slint 的 PR #6429,允许某些 Slint-specific target property 使用生成器表达式(Generator Expression)。

此外,因为设备增加和活动场地扩大等原因,本人对虚拟组网(或者说 P2P Mesh VPN)的需求也在增加,因此还给 Headscale 提了个 PR #2046,添加了便于自定义 DERP 服务器使用的 /verify Endpoint 以及相关的集成测试(其实后者才是工作重点,前者已经有前辈实现过了,只是不符合 review 流程而没有被合并)。

同时 Patch 了一份 derper 给自己用,参见 在 NAT 云上部署 Tailscale DERP 服务器

数码

总体上来说,2024 年的数码实物消费较少,更多是在折腾云,并顺带优化了一下本地网络环境。同时也把主系统迁移到了 Arch Linux,以适应更多的开发需求。

关于网络设施

新换了一些路由器和交换机,把家里的网络环境整理了一下,内网 2.5Gbps 有线全覆盖、无线基本覆盖。虽然实际上将来可能不太会回家了(大学结束就该一个人出去工作了嘛)

收了台 TL-XDR6086(参见 通过 U-Boot 恢复无法引导的 OpenWRT 路由器)放在宿舍,这下终于有高速的宿舍 WiFi 可用了!比起学校自己的那一堆残血 802.11ac 的 AP 发射点,体验上升明显。

关于云服务

把之前购买的廉价 RackNerd VPS 废弃了,新购买了 AWS Lightsail,并从一些小厂那里购买了香港九龙和浙江宁波的 VPS,总体上各项服务都要快速稳定许多。申请到了 AWS SES (Simple Email Service) 的发信权限,应该可以避免部分邮件被当成垃圾邮件拦截了。

  • 把资料共享云盘迁移到了 AList 并放置在香港,不过大陆直连的可用性依旧不是很高,正在考虑进一步优化方案。
  • 虚拟组网服务继续使用自托管 Headscale + 自建 DERP 服务器的方案,添加了国内 DERP 服务器以提高连接速度。
  • 使用 Authelia 部署了轻量化的 OIDC 协议的单点登陆(SSO)服务,现在 AList 后台、Headscale 后台、自用的卡片笔记系统等均可以通过 Authelia 进行统一认证了。

部分服务仍然在迁移中。咕咕咕~

迁移至 Arch Linux

在 2024 年初,把开发电脑的主系统迁移到了 Arch Linux(Set up 过程参见Arch Linux 安装笔记(LUKS2 + Secure Boot + TPM + PIN))。迁移 Linux 主要有以下的考量:

  • 由于本人折腾的 Native 开发较多,仅使用 Windows 并依靠跨平台工具链并不足以满足需求。
  • 由于 Linux 设备(云服务器、SBC、工控机、路由器等)的使用率越来越高,迫切地需要一个环境更加接近相似的开发环境,以便于在这些设备上部署一些个人项目。
  • 由于玩得越来越杂,迫切需要一个可以自由隔离环境的系统,Container 技术是一个不错的选择,但在 Windows 下必须依靠 Hyper-V/WSL2 才可使用,换用 Linux 系统可以更加方便。
  • 部分 AI 框架(如 TensorFlow)对 Windows 的支持不够完善,换用 Linux 则可以更好地使用。

至于选择 Arch Linux 嘛,主要是眼馋 AUR 和 Arch Wiki 的丰富资源,以及高度可定制化的 set up 和滚动发行真的很对我胃口啊,再也不用为了用个新版本而去拉源码自编译了(虽然有时候还是逃不掉,很多使用 SBC 的场景还得接着用 Ubuntu)。

当然迁移期间也碰到了一些问题,比如:

在将各种问题逐步解决或绕过后,Arch Linux 成为了我的主力开发系统,目前已经稳定运行了 10 个月左右。考虑到 Docker 的广泛应用以及 Linux 环境下进行 Native 开发的优势,这次迁移还是非常值得的。

生活

旅行

虽然基本还是呆在学校没怎么出去,但 2024 下半年确实仍有一些小旅行就是啦。

南京夫子庙

今年国庆假期去了趟夫子庙,大抵有几分《泊秦淮》的原因。繁华确是无需解释的,然而现代化气息或许也浓厚了些,很难说是值得还是失望了。所以说,你怎么连南京本地的景点都没逛完啊 <(`^´)>

Anyway,放照片。

科举博物馆:
秦淮河道:
夫子庙主殿:
无孔不入的奶茶:

杭州西湖

因为参加某些活动,11月中旬到了杭州,顺便也再次游览了一遍西湖。但因为时间太紧 & 组团活动的原因,实际上最大的感受是:走得好累emmm

放几张雷峰塔的照片吧。

外景:
遗址保护区:
塔顶游客:
高处风景:

云村

来看看赛博心灵旅店的年度报告:

活跃时段 22:00 ~ 29:00,夜猫子实锤

年度歌单

每一首歌都是新的旅途
我们走向远方 却听见自己
人生是旷野 音乐也是

双人报告

要来匹配一下试试看吗~

B 站

年度 UP 是城阳电工,这倒是令人意外。

心愿卡

  • 愿明天阳光明媚,愿生活更丰富多彩~
  • 愿明天能更好地看清自我,找到新的可持续的动力源泉~
  • 虽然不愿受到功利的束缚,但是……该考虑赚钱的事情了呢~
  • 如果可能的话……顺带把去年的愿望也实现了吧👉👈

2025 解谜红包

来自通信工程学生的新年祝福,check the image below:

支付宝拼手气口令红包,有效时间:2025 年 1 月 29 日 00:00 至 2025 年 1 月 29 日 23:30,66 CNY / 8 个。
注:地址扫描、暴力爬虫等不是解谜的正确方式,请不要对本站服务器进行压力测试。

Have a good time!

更新:解谜方法已发布

分享这一刻
让朋友们也来瞅瞅!