Movq

movq.de,技术笔记与项目的个人站点与博客。

cp:-r 还是 -R?

作者梳理了 GNU coreutils 中 cp -r 与 -R 的历史差异:1992 年首个提交里 -r 会标记 flag_copy_as_regular,-R 则不会;2002 年两者合并为完全等价。 当前 GNU 手册已将 -R、-r、--recursive 统一处理。OpenBSD 和 NetBSD 中 -r 仍与 -R 存在代码级差异且手册不推荐 -r;POSIX 明确 -r 是 BSD 历史习惯、不再被 2024 标准指定,推荐使用 -R 以保持与其他递归工具(如 chown)一致。 对习惯只用 -r 的工程师是提醒:在 BSD 系统上 -r 可能仍有行为差异。
评论点赞收藏6 小时前

NetBSD:把玩磁盘标签(Disklabels)

作者在 NetBSD 11 x86_64 虚拟机里手动拆解 BSD disklabel 的二进制格式。先通过 C 程序调用 getlabelsector/getlabeloffset 确认 disklabel 位于第二个扇区,再逐字段对照 /usr/include/sys/disklabel.h 解释磁盘元数据(magic、类型、几何参数、RPM 等)和分区表各字段(p_size、p_offset、p_fstype),验证了 XOR 校验和算法,并在十六进制编辑器里手动新建一个 ZFS 分区,最后用 disklabel 命令确认系统能正确识别。 内容偏底层系统逆向,适合对磁盘格式、BSD 生态感兴趣的读者。
评论点赞收藏4 天前

把二进制文件变成图片:零预处理的结构可视化

用自制十六进制编辑器bine给二进制文件加颜色可视化,发现ncurses逐字符着色性能太差,改用Unicode特殊字符替代。进一步把整个二进制文件直接映射成PGM灰度图,无需任何预处理——代码区、文本区、NUL字节在图中呈现不同纹理,能直观看到EXE、tarball、ISO等文件的内部结构分布。
评论点赞收藏37 天前

Windows 2000 UI 设计之美:为何现代界面失去了直观性

作者通过QEMU运行Win2000,详细分析了其UI设计的优点:清晰的视觉线索(如按钮凹陷表示激活、滚动条始终可见)、一致的交互反馈和优秀的字体渲染。 对比现代扁平化设计,作者认为Win2000时代的设计更符合直觉,而现代UI往往隐藏了交互可能性,导致用户体验下降。文章还提到Win2000在低配硬件上表现良好且无需在线激活,表达了对过去软件设计理念的怀念和对当前趋势的批评。
评论点赞收藏104 天前

Movwin:我(未开源的)TUI 框架自研手记

作者因厌倦现有 TUI 框架的不稳定和高延迟,基于 ncurses 自研 Python TUI 库 movwin。文章展示了 tracktivity(活动追踪)、bine(十六进制编辑器)和 Arduino 时间记录器等实际应用场景。 核心亮点包括:追求极致启动速度(牺牲 dataclasses)、对 Unicode 宽度的工程级处理、以及通过代码直接定义菜单热键的“自文档化”设计理念。 作者因担忧 AI 公司滥用代码而暂不开源,这种对技术自主权和开源伦理的坚持,结合具体的工程踩坑细节,极易引发 Hacker News 读者关于 Python 性能、终端交互设计及开源保护的讨论。
评论点赞收藏123 天前

来自Mozilla 1.2b(2002年)的回顾印象

作者回顾并演示了2002年的Mozilla 1.2b套件。文章展示了当时浏览器的安装界面、标签页、全UI主题化、原生开发者工具以及以明文存储Cookie和HTML书签等特性。 此外还介绍了邮件客户端的线程视图、Composer编辑器及IRC客户端ChatZilla。核心观点是怀念当年软件设计的简洁与功能紧凑,对比现代软件的臃肿,引发对软件工程演进和用户体验变化的讨论。
评论点赞收藏205 天前

为什么 UTF-8 和 Unicode 应该使用八进制表示法

作者主张在查看 UTF-8 编码数据时使用八进制而非十六进制。因为 UTF-8 的延续字节固定携带 6 位信息,正好对应八进制的两位数字。 通过简单的规则(如以 2 开头为延续字节,以 3 开头为起始字节),可以直接从八进制 dump 中肉眼识别并拼出 Unicode 码点,无需复杂解码。 这比十六进制更直观地揭示多字节序列结构。
评论点赞收藏205 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。