如何让 NixOS 显示一次更新的具体内容

当 NixOS 配置好了 flake、home-manager 等等,后续的更新我们只需要运行:

 1❯ nix flake update
 2
 3❯ sudo nixos-rebuild switch
 4building the system configuration...
 5activating the configuration...
 6setting up /etc...
 7reloading user units for davinci42...
 8restarting sysinit-reactivation.target
 9the following new units were started: NetworkManager-dispatcher.service
10Done. The new configuration is /nix/store/mp17nhbadmffs9ah961ldj0y1l38a73m-nixos-system-azure-25.05.20250424.f771eb4

除了 kernel 的更新需要重启,某些环境变量需要新开 session 之外,其它 pkg 和对应的 systemd-service 应该都是最新的状态了。

Continue Reading »

如何修复一台无法启动的 Azure NixOS

HackerRank #Lego Blocks

The Age of AI —— Eric Schmidt 消失的访谈

The Age of AI 是 Eric Schmidt 于 24 年 4 月在斯坦福做的一期访谈,有意思的是官方在 8 月把视频上传到 YouTube 之后不久就被下架了。

Continue Reading »

Rust 速通 LeetCode 之后

花了 3 天时间刷完了 LeetCode 751,然而 Top Interview 1502 却花了足足 2 周,链表是 Rust 里永远的神,古人诚不我欺。

算是给 The Rust Programming Language 的期末大作业吧。

Continue Reading »

Brown University 版本的 The Rust Programming Language 教程中,Generic 这一章节末尾提出了一个非常棒的 Quiz1

假如某个 library 定义了如下 function 而我们不知道具体实现是什么:

1fn mystery<T>(x: T) -> T {
2  // ????
3}

当我们在代码中如此调用时,当然可以确定 foo 的类型,但是能确定值吗?

1let foo = mystery(42);

令人意外的是,foo 的值是唯一的。

Claude Sonnet 老师也在恍然大悟后直言「这正是理解 Rust 泛型系统的关键点之一」。

Reflections on Conversation

听众或读者的「接收」,
应该像是棒球赛中的捕手才对。

—— 莫提默·J·艾德勒1

Continue Reading »

读《Reflections on Trusting Trust》

遗憾的是,即使有了源代码,编译出的 binary 仍然是不可信任的 😞

Continue Reading »