thumbnail
Project Anni 之旅(1)clap——从 builder 到 derive
Project Anni 的第一笔 commit 是从去年(2020年)12月20号开始的,而 clap 则是在当天的第三个 commit 中引入的。当时引入的是 2.3.3,也就是 clap 2 的最后一个版本,这个版本中还没有 derive 的身影。随着 clap 3.0.0-beta 版本的发布,带着尝鲜的心情,anni 的 clap 版本也…
[Google CTF 2021] CPP WriteUp
打完 CISCN 2021 无事,想起群里之前说到的 DRM,于是和队友一起尝试了一下( 预处理 由于各种 #xxx 完全没有缩进,因此使用 clang-format 对预处理器进行格式化处理: clang-format --style='{IndentPPDirectives: AfterHash}' cpp.c 缩进后的代码虽然算不上好读,但至…
【Rust】90 行代码实现 AsyncTeeReader
大家好,好久不见,这里是某昨。 这段 AsyncTeeReader 的代码是我在实现 anni-backend 的时候写的。虽然之后没有用到直接全删了,但个人感觉之后肯定还会有用到的时候,并且在书写这段代码的过程中我也学到了很多东西,故撰写此文以作记录。 代码带简单注释、new、use 和空行一共 90 行,从中或许可以稍微了解一下异步的代码该怎么…
从零开始的 Seedbox 之旅
入站半年感觉慢慢攒上传还是太累了,于是最终还是摸了个盒子。因为是简单摸一下,我就不用一键脚本了。为了装起来方便,系统选的直接就是 ArchLinux。 这篇文章源起于几个月前,现在已经开始吃灰了,所以赶在不续费之前摸完这篇( 安 装 设置系统语言 https://wiki.archlinux.org/index.php/Locale_(%E7%AE…
libass 源码阅读(0)开始
前言 在字幕渲染领域,libass 和 xy-VSFilter 可以说是两架马车。libass 使用 C 语言编写,根据 Google Code 存档的说法,在大多数情况下 libass 的效率比 xy-VSFilter 快 50%。从支持的角度来看,ffmpeg 支持 libass 而非 xy-VSFilter,而 Linux 版本的 Aegis…
[随笔]技术型博客行文迷思(1)
大家好,好久不见,我是某昨。 昨天,或者说是从更久之前,在我寒假里尝试写 libass 源码阅读的时候,再或许是更久之前,在我写林业源码阅读的时候,我就在思考这个问题了。 往窄了说,是「源码阅读系列该怎么写」;往大了讲,就是「技术型博客该怎么写」。 开始 昨天的思考是这样的: 最近一直在思考源码阅读系列的行文风格应该怎么样抛出问题-解决问题的范式是…
thumbnail
浅谈 git fetch 的工作方式
最近写 Anni 的时候遇到一个问题。Anni 的元数据仓库是以 Git 仓库的形式存在的,但对客户端而言这种形式并不方便交互。 如果客户端只是利用 GitHub 的 API 下载 HEAD 的压缩文件,那么仓库和 GitHub 就有了强关联;但如果想要 clone 的话,直接使用 git 命令显然是行不通的,需要一个合适的 Git 实现。 由于客…