TOC
Apache Committer: What, Why, How
去年年底,我在 HugeGraph 的导师拟推举我为 Apache HugeGraph 的 Committer,当时的我已经深度参与了 HugeGraph 项目社区快大半年的时间,但是这么快能够成为所谓的 Apache Committer 还是有点小激动。
『Apache Committer 是 Apache 软件基金会中负责提交代码并参与项目决策和管理的成员,成为 Apache Committer 需要通过贡献代码和积极参与项目社区,并经过社区投票批准』,上述内容由 gpt-3.5-turbo 生成… 从象征意义上来说,每个 Apache Committer 都会有一个独一无二的 Apache id 以及一个对应的 Apache 邮箱 (比如我的是 vgalaxies@apache.org)。25 年来,Apache 软件基金会在全球范围内共计推选了约 9300 名 Committer (截至 2024 年 4 月初),能够成为其中的一员本身就是一件很酷的事情。
从实用 (GitHub 工作流) 的角度来说,成为 Apache Committer 后就可以在 GitHub Apache 组织下对应的项目仓库中拥有一部分的写权限,例如:
- 可以直接推送 commits 到上游仓库非主分支提交 PR,而不需要单独 fork 仓库提交 PR
- Approve 其他 contributors 提交的 PRs (workflows)
- 修改任何一个 issues 或者 PRs,例如编辑其中 comments 的内容,设置 assignees 和 reviewers 等
- 编辑仓库的 Wiki 和 Projects
- …
还有一个比较特殊的点,如果 Apache 组织下的其他某个项目仓库配置了对所有的外部协作者都需要 approval 才能运行 PR workflows (第三个选项):
即使没有对该项目仓库的写权限,依然可以在提交 PR 后自动运行 workflows,而不需要其他人手动 approval,这是因为在成为 Apache Committer 后会加入 GitHub Apache 组织,既然是组织内的人,自然也就不是外部协作者了…
否则,即使已经在该项目仓库提交了 PR 并合入,之后提交的 PR 仍然需要其他人手动 approval,这给提交 PR 的同学和 Approve PR 的同学都带来了相当的麻烦。值得注意的是,Apache INFRA 去年悄悄将 Apache 组织下所有的项目这里的配置改成了第三个选项,想要改回去还要单独给 INFRA 发一个 Jira ticket…
最后,可能也是最实用的一点,Apache Committer 可以使用 Apache 账号申请免费使用 Jetbrains 的全系列产品,虽然使用学生认证同样也能白嫖 Jetbrains,但从长远来看能够一直白嫖也是一件很爽的事情🤤
既然成为 Apache Committer 有这么多好处,那么怎么样才能成为 Apache Committer 呢?虽然在 ASF 官网上有相关的文档,但是众所周知 ASF 的文档引导并不是那么友好。在 HugeGraph 社区完整走过 Committer 的推选流程后,我和社区里的同学参考了官方文档以及其他社区的相关指南,纂写了一份较为完整的指南,概述了 Apache Committer 推选要求以及流程,简单来说可以分为下面几步:
比较宽泛的聊了下 Apache Committer 的 What, Why, How,下面聊点具体的东西。在成为 Committer 后,可以很明显的感觉到我在 HugeGraph 社区的参与度提升了一个台阶,无论是主观上还是客观上:
- 参与了 HugeGraph 2024 Roadmap 和 HugeGraph 分布式版本适配 Warm Up,参与了三次技术分享会并作为其中一次的主讲
- PD 各模块分析与梳理,测试重构
- 新后端 Hstore 测试问题排查与修复
- OpenTelemetry 链路追踪适配
- Summary Issue 维护 & GitHub Project 进度追踪
- 文档优化 & 多仓库 Wiki 整理
- License Headers & Code Styles 统一
- 与 Dosu 作者沟通 HG Issues 自动回复 Bot 相关问题
- Review 各种 PRs
- …
虽然这其中有很多都是与核心技术无关的『杂活』,但是能够如此多角度的参与到开源社区方方面面的事务,本身就是一段不可多得的经历,也说明了 HugeGraph 孵化器项目本身的孵化属性。在 Q2,HugeGraph 将迎来首个分布式版本的发版,希望能够一切顺利。
至于 IoTDB 那块,在年初修了一些 Bugs 和支持了 Alter Pipe 语法后,我主要参与了 IoTDB 数据订阅功能的调研、功能定义与初步的技术实现,各种文档打磨了一个多月,之后的代码实现则又是肝了半个多月,赶在封版前写了一个冒烟的版本。个人感觉目前美化下作为毕设项目已经可以交差了,但是距离生产可用还是有较大的距离,可以预见之后几个月可能都是在各种 bugfix 与 enhancement 中度过…
Animation ⇄ GAL
聊点「いせかい」的话题,番剧方面:
- 只追完了一部一月新番
- 我心危 第二季,首部霸榜 AC 榜整个季度 (12 周) 的作品,官方祝贺推文在这里。去年评论过第一季的表现,第二季在更多且有限的预算下几乎做到了集集爆的观感,恋爱题材动画难以逾越的高峰,危门🙏
- 如果算上剧场版的话,还有冈妈最新力作爱丽丝和特蕾丝的幻影工厂,
指看完之后不知道谁是爱丽丝、谁是特蕾丝。这部作品的评价呈现出极其严重的两极分化现象,评价的好坏完全取决于是否能够理解并接受冈妈所要表达的东西,也就是说这是一部作者性拉满的作品
- 接着去年十月的半年番
- 还补了一些番
粗略估算下我完整『看过』的番剧应该刚好超过了 100 部。另外,自从我在小破站关注了夏日幻听 MCE 后,几乎每周都有一些『想看』的未上映番剧,平淡的日子似乎就这样有了盼头起来,也不由得感概活得久还是有好处啊,像 9 年前的京吹和 16 年前的狼辛今年四月都出了续集或重置版,看到曾经熟悉的人物又栩栩如生的在屏幕上闪动,个中滋味难言。
最近在小破站刷到了某宏观领域大神的视频👇
突然就想起了六七年前在小破站追新番的那段时间。在那个时候,小破站甚至能够同步播出渣愿这种可能会影响青少年三观的作品 (然后就被举报了),每隔三个月都会有单独的页面介绍这一季度小破站又买了哪些番剧 (言外之意是快来开通大会员吧),想要看番只需要点击追番按钮,然后在固定的时间接收到推送,屯点弹幕配合评论享受一段惬意的时光… 在那个时候,上小破站看新番似乎是一件理所当然的事情,直到后面发生了一些事情,那时我正好处于淡坑的状态。等回归后,想看什么番在小破站上却找不到,找到了看评论又说和原版做了一些删改,不得已还是要去单独找资源看,最后的结果是,我在小破站看新番逐渐转变成了在小破站看新番二创😅
当然,回忆这些并不是为了缅怀什么,也是时候自食其力了。在各种资源站高强度冲浪后,我逐渐理解了一切,以下面的资源标题为例:
gpt-3.5-turbo 生成了下面的解释:
我来简单扩充下:
[北宇治字幕组]
:字幕组或者压制组名称,首先对其表示最高的敬意葬送的芙莉莲 / Sousou no Frieren
:番剧中文名及其罗马音,在外网 (如 Nyaa) 搜集资源时罗马音是通用的[28]
:集数,不多解释[WebRip]
:资源来源,通常还有 WEB-DL、BDRip 等[1080p]
:分辨率,通常都是 1080p,也有经过超分形成的 2160p[HEVC_AAC]
:表示使用 HEVC (H.265) 视频编码和 AAC 音频编码的组合,这一部分各个资源命名并不统一,推荐参考柴知道的这期视频学习更多🧀 (文字稿)[简日内嵌]
:代表视频中嵌入了简体中文和日文字幕,如下图所示,字幕和视频融为一体 (压制阶段)
内嵌字幕的优点是,不需要下载对应的字体文件,就能在任何播放设备或平台上显示一致的内容,缺点是不利于字幕修改,也无法隐藏或切换字幕。
还有一种类型的字幕是外挂 (内挂) 字幕,这种字幕可以隐藏与切换,如果有单独的字幕 ass 文件则为外挂字幕,否则就是封装进视频的内挂字幕。如果视频中没有封装对应的字体文件,且系统中也没有安装对应的字体文件,最后呈现出的效果就可能比较丑 (指宋体),一般字幕组或者压制组都会在资源中附上 xxx [Fonts].zip
的字体文件压缩包。这里分享一个小技巧,如果不想每个资源都安装对应字体文件,以 PotPlayer 播放器为例,在字幕设置中选择 ASS/SSA 字幕样式为『仅使用字体名称来自定义』:
然后在字幕样式中选择自己喜欢的默认字体:
这样配置的效果是,字体将始终使用配置的默认字体,同时字体的其他样式如位置、颜色、特效等保持不变,如下图所示:
这样可以在偷懒的情况下最大程度上保持字体的美观…
最后提一嘴在收藏 BDRip 资源过程中的一些经验 (收集癖魅力时刻)。首先是 BT 下载工具的选择 (关于 BT 种子的原理,可以参考🖇在外网的视频),强烈不推荐迅雷,具体原因参见这篇文章,我使用的是 Free Download Manager,足够轻量也足够易用。其次是字幕组和压制组的选择,由于压制组通常会和字幕组进行一些合作,字幕组也有自己专门的压制部门,所以下述介绍不再严格区别字幕组和压制组。具体的选择与个人喜好相关,我个人首选 VCB-Studio,其他如 DBD-Raws、Snow-Raws、Moozzi2、LoliHouse、SweetSub、Nekomoe kissaten、subbers 等。如果缺失字幕,可以在这里搜寻外挂字幕。另有各家压制组画质对比,反正我不太能看出来😶
最后也是最重要的一件事情是备足存储空间,一部 BDRip 作品的大小在 5GB 到 200GB 不等…
在回顾 2022 年度音乐时,我曾经提到『虽然我并不玩 GAL』。在 2024 年这个 context 要被修正了,我终于染上了 GAL (狭义),也理解了某乎上鉴定二刺螈的技巧,『玩 GAL 的一定是很纯的二刺螈🙃』。首先按照我个人的理解区分下几个概念:
- 视觉小说 (Visual Novel):以文字剧情为核心元素,并配以图片和音乐,游戏性通常不如竞技类游戏
- 狭义的视觉小说被称为 NVL,即整个屏幕都被文本框占据,仅有图片作为背景,这种大多比较冷门,故现通常代表广义含义
- AVG:Adventure Game 的缩写
- 在视觉小说范畴中,Adventure 表现在分支选项与多剧情路线上
- RPG (角色扮演游戏) 中也有很多与 AVG 交叉的部分,但 RPG 更重视游戏性与角色养成
- ADV:同样是 Adventure Game 的缩写,一般被日本的游戏厂商使用,又被称为日式 AVG
- GAL:以美少女和恋爱元素为卖点,涵盖范围很广
- Eroge (Erogame):俗称黄油,以エロ为卖点
NSFW, R-18, R-18G ⚠- 考虑到并不是所有的恋爱都是柏拉图式恋爱,因而 GAL 中出现エロ要素是很正常的一件事情,但两者之间并不是包含与被包含的关系,没有エロ要素的 GAL 即为全年龄向 GAL
总的来说,NVL 和 AVG (ADV) 是游戏类型,GAL 和 Eroge 是游戏内容,两个概念正交,每个概念内部的区分并不严格 (分类本身就是一件很复杂的事情,例如番剧分类)。
铺垫了一大堆背景知识,现在可以说,我打通的第一部 GAL 是一部非全年龄向 GAL (标准入坑流程),之后则在安利下各打通了一部单结局和多结局的全年龄向 GAL。非全年龄向的 NSFW 不多介绍… 下面简单聊下 (无剧透) 两部全年龄向 GAL。
- 星空列车与白的旅行 (单结局)
真正意义上适合萌新入坑的作品,白玉老师与伞先生带来的治愈童话,分支选项不影响主线走向,总流程时长在 6 个小时左右,虽然前期的日常可能有些无聊 (GAL 通病),但后期的伏笔回收和转折收束十分精彩,对于生活哲理以及生死观的探讨也可圈可点。
简称 SPRB,KEY 社已发行的最新多线全价作品 (截至 2024 年 4 月初),剧情线路超过 10 条,总流程时长在 40 个小时左右,其实我第一次玩这种多结局的 GAL 时是有点晕头转向的,还好这一部进入各个路线并不困难,指想要玩谁的线就每天上午下午去找她,然而最开始推的时候我并没有发现这一规则,最后成功进了海未线… 话说回来,相较于本作的主线剧情,我大概更喜欢其中一些角色线,比如鸥线和识线,其中鸥线还真让我回忆起了小时候和几个小伙伴,在城市化进程中留下的废墟上,拿着『藏宝地图』寻宝的经历,如同装满夏日回忆的小小宝箱,原来我一直未曾忘却那眩目的湛蓝… 本作的 BGM 配合难能可贵的不枯燥的日常,极大提升了游玩体验,强推。
其实我在很早的时候就接触到了承载狭义 GAL 的游戏类型——视觉小说,大概在初中的时候我接触到了 To The Moon 这款游戏 (视觉小说 + RPG),由于游戏性并不强,而且好像还卡关了,所以当时的我并没有通关,但是其中的 BGM 令人印象十分深刻。
多年后,了解到了这款游戏的剧情和结局,有点后悔入坑太早,一是当时没有静下心来打通游戏,二是即使打通了按当时的心智可能也无法完全理解这个故事。回到现在,在这个时间点入坑 GAL,其实和抄底入局没有什么区别,正如戏称去年的 16bit Sensation 是献给 GAL 界的遗书,传统意义上的长篇剧情 GAL 已经在时代碎片化浪潮中变成了二游的形状,KEY 社母公司 VISUAL ARTS 也于去年被鹅厂收购。曾经美好的事物在初见时已经不复当初,这似乎是很常见的事情,无论是在「いせかい」,还是在现实世界。
碎碎念
虽然在 SPRB 中有一句台词是『人要享受当下到没有空闲缅怀过去』,但我还是一如往常不定期的拾掇下记忆碎片,mark 下这段时光可以被遗忘了 (因为 flush 落盘了):
- 最近迷上了看 CS2 比赛,看到 17 岁小将 DONK 带领队伍 Team Spirit 在 IEG 卡托维兹决赛创碎了银河战舰 FaZe,想着人们总是津津乐道于这种旧秩序大厦将倾的故事。然而在不久后的哥本哈根 Major,FaZe 又在四分之一决赛复仇 Spirit,时代终归属于年轻人,但是老头 (指 FaZe 指挥的年龄是 DONK 的 double) 战胜时间的故事同样令人振奋
- 『工欲善其事,必先利其器』,这里强烈推荐一个小工具 Heynote,可以认为是 Windows 记事本的究极强化版,在一个页面内同时显示多个分块,多个分块逻辑独立,支持多种语法高亮,作为一个简易的备忘录、TODO 列表、临时拷贝的地方完全够用了
- 逐渐意识到团队协作中的信息对齐是一件复杂且困难的事情,每个人所处的 context 都是不一样的,如何清晰、完整、高效的交换 contexts 就显得尤为重要,以他人的视角思考是一个很重要的点
- 信息并不是越多越好,冗余的过量信息会吞噬一个人的精力,扰乱真正的主线。比如我发现小破站的稍后再看、某乎的收藏夹、
待追溯的插画无论怎么清都清不完,信息持久化与信息转化率是两个概念 感受不到现在的自己和期望的未来有什么联系,尽管游荡的孤高灵魂不需要羁绊之地,但人对精神世界的过度探索会陷入虚无主义,『人际交往,就如同浮潜,深深沉入其中,许多东西从身边消逝,直到呼吸难以为继,就重返海面,之后,将脸探出海面,吸一口气,就再次潜入深处』