
All Posts
Currently at page #1 in 3 pages
10 entries in this page
重构博客的总结
在 NixOS CN 群群友的怂恿下,我也重构了博客。大约一周后,我终于完成了这项工程,在此记录重构博客中的思考和做出的各种选择。 背景 某天我在 NixOS CN Off Topic 群中看到群友分享了自己重构完成的博客网站。访问了这个新 …
自动化 NUR
构建全自动构建、更新和缓存的 Nix User Repository。 背景 随着我的NixOS 配置仓库中包含的非 Nixpkgs 包越来越多,每次 NixOS 更新的时间都大幅增加,大多数都浪费在复制各种工具链及构建时依赖和编译上。虽然 …
探索并行遍历 DAG
探索如何编写一个更简洁和优雅的并行 DAG 遍历算法。 背景 最近我有了新的 Idea,想要分析一个 Nix Derivation 的依赖图,并以树形结构打印。在这个图结构中,不是所有的 Derivation 或 Store Object …
NixOS 镜像中的 Secret 管理
给 NixOS 的 Installer Image 加入 Secret 管理支持。 背景 玩 NixOS 玩到一定程度,都将面对 Secret 管理这一经典问题,当然对于一般的 NixOS Setup 来说,这并不是非常复杂的问题,有非常多 …
现代 Linux 桌面会话管理
最近尝试了使用 Wayfire 作为 Wayland 混成器,整体体验后,Wayfire 的功能是不错的,可惜其没有 systemd 支持,对于依赖 systemd 的我来说,这显然是不能够满足日常需求的。因此,我研究了如何为其添加基于 …
为 EndeavourOS 构建 Linux 内核
简单记录一下在 EndeavourOS 上手动编译 Linux 内核的过程。 环境准备 整个过程在虚拟机上完成,具体配置参数如下: Hypervisor: VMware Workstation Pro 17 OS: EndeavourOS …
结合 SPPM 的 Path Tracing
随机渐进式光子映射(Stochastic Progressive Photon Mapping, SPPM)是光子映射系列算法的进阶算法,本文介绍如何实现 SPPM 以及如何将 SPPM 与路径追踪(Path Tracing, PT)结合。 …
光线追踪中的 Multiple Importance Sampling
本文主要介绍多重重要性采样(Multiple Importance Sampling)及其在光线追踪中的典型应用。 Multiple Importance Sampling Monte Carlo Path Tracing 在 Ray …
无需宏为 Trait Objects 实现 Any
std::any::Any 是 Rust 在运行时进行类型擦除和转换的工具,所有 'static 类型都实现了 Any,因此装箱为 Box<dyn Any> 后可以借助 Any::type_id() 获取 TypeId,还可以通 …
anyerr 上下文中的类型体操
在对 Rust 错误处理的思考和 anyerr一文中,我介绍了 anyerr 这一个错误处理库,其可以携带上下文信息,且储存上下文的数据结构是可定制的。本文则聚焦 anyerr 是如何实现这样的特性的。 上下文的核心特性 基本结构和表示 在 …