我写了一个音乐播放器
来源:omarpolo.com — 2022
📋 概述
作者出于好奇写了一个名为 amused 的小型音乐播放器,最初的目标是尝试在严格沙箱中解码音频文件(结论:这是个错误)。amused 的独特之处在于它既是守护进程又是客户端——一个单独的可执行文件自动管理后台播放。更巧妙的是它利用 Unix 管道 来持久化状态:`amused show > dump` 导出播放列表,`amused load < dump` 恢复,完全避免了内置状态持久化的复杂性。
🔑 核心要点
- amused 的设计理念:单一可执行文件 同时充当守护进程和客户端,自动按需启动后台进程。
- 通过 Unix 管道重定向实现状态持久化——`show` 导出、`load` 导入,避免内置持久化逻辑。
- 所有状态通过命令行操作,完全瞬态:一旦 kill 进程,所有状态消失。
- 初始目标(沙箱中解码音频)被证明是错误方向,但副产品是一个作者真正喜欢的程序。
- 这是一个经典的"为了好玩而写"的项目——最终不得不维护它,因为自己真的喜欢用。
💡 金句
最初的想法是在严格沙箱中解码音频文件。长话短说:这是个错误。但我最终写出了一个我喜欢的东西——现在不得不维护它了!
👍 0
👎 0
← 返回 Lobsters 首页