tonsky

RSS: https://tonsky.me/atom.xml
Nikita Prokopov 的博客,Fira Code 字体作者,关于字体排印、UI 设计与编程的尖锐洞察。

每一帧都完美:UI细节如何决定用户信任

作者提出UI设计应追求“每一帧都完美”,即截图任意时刻都合理。通过Wayland理念引申,指出UI是用户判断软件质量的唯一依据。文章列举了白闪屏、内容重排、动画不同步等具体反例(如Safari、YouTube),强调动画过程中的细节同样重要,缺乏打磨的动画会破坏用户信任。
评论点赞收藏63 天前

计算机科学最难的问题:居中

作者指出尽管CSS居中技术简单,但各大平台UI仍存在大量对齐瑕疵。文章深入分析了字体度量、行高、图标对齐等技术难点,揭示了字体设计缺陷和Icon Font的局限性,并提供了针对设计师、字体设计师和开发者的具体修复方案与代码示例。
评论点赞收藏182 天前

Tahoe 图标设计难以自圆其说

从图标设计的第一性原理出发,批评 Apple 在 macOS Tahoe 中未能应用这些原则,引发对苹果设计哲学变化的讨论。
评论点赞收藏223 天前

贪婪的软件程序

作者反思软件角色的转变,指出过去是我们使用软件,现在变成了软件在利用我们。文章探讨了现代软件如何通过过度索取权限、数据和注意力来反客为主,引发了对技术依赖和软件伦理的思考。
评论点赞收藏276 天前

当你写宏写得足够聪明时

作者深入探讨了Clojure中hashp调试宏在线程宏中的失效问题,并通过巧妙的探针技巧设计了一个能自动识别线程方向的新宏,展示了极具工程美感的元编程解决方案。
评论点赞收藏304 天前

我们本不需要 lockfile

作者强烈反对在依赖管理中引入 lockfile,认为基于语义化版本号的确定性解析算法足以保证构建可复现。文章指出 lockfile 增加了复杂性,并以 Maven 为例证明没有 lockfile 也能在大规模项目中稳定运行,甚至通过最近版本优先策略解决冲突。
评论点赞收藏374 天前

被大模型“煤气灯”式操控的开发模式

作者通过自身产品Instant的案例,指出LLM会根据其训练数据中的常见模式,强行要求开发者修改API以符合“标准”用法(如将tx.update改为tx.create)。文章探讨了这种“煤气灯效应”驱动的开发模式:虽然感觉怪异,但这实际上是一种独特的测试手段,能让开发者体验“新手视角”,同时也引发了关于API设计是否应迎合大众直觉还是保持独特性的思考。
评论点赞收藏395 天前

我设计的 Logo 作品集

Clojure 知名开发者 Tonsky 的个人作品集页面,展示了其多年来为 Clojure 生态系统项目(如 Clj-Kondo, DataScript, Babashka 等)及开源社区设计的 Logo。内容主要为视觉展示与项目链接,缺乏深度技术解析或行业观点。
评论点赞收藏434 天前

软件幻灭:为何我们不再追求高效与卓越

作者回顾15年编程生涯,痛陈软件行业在效率、简洁和卓越方面的缺失。文章指出软件运行效率极低、体积臃肿、稳定性差,且构建工具和依赖管理混乱。作者呼吁工程师重拾对工程质量的追求,拒绝“移动快于修复”的懒惰文化,追求更快、更可靠、更高效的软件。
评论点赞收藏521 天前

2023年软件开发者必须掌握的 Unicode 基础知识

本文是对 Joel Spolsky 经典文章的2023年更新。作者深入剖析了 UTF-8 编码、Unicode 码点与扩展字素簇(Extended Grapheme Clusters)的区别,指出开发者常因混淆字节长度与字符长度导致 Bug。文章强调必须使用 ICU 等库处理字符串操作,并解释了 Unicode 规范化(Normalization)和区域设置(Locale)依赖带来的复杂性,是后端和全栈开发者必读的基础知识。
评论点赞收藏522 天前

SwiftUI 的默认值设计是有害的

作者深入批评了 SwiftUI 框架中过度‘智能’的默认行为,如隐式逗号处理、魔法间距和不透明的默认样式。文章认为这些特性导致代码不可预测、调试困难且维护成本高,主张框架设计应遵循‘显式优于隐式’的原则,保持简单和可预测性,以牺牲部分新手便利性为代价换取专业开发者的可控性。
评论点赞收藏530 天前

可视化编程的终局:是代码的附属,还是独立的可执行实体?

作者结合个人经验,将可视化编程分为四个层级:独立图表、代码旁图表、代码生成图表、以及作为独立可执行实体的图表。作者反对用可视化完全替代文本代码,主张将可视化视为类似游戏引擎场景编辑器的独立工具,专门处理状态机等适合可视化的逻辑,而非试图可视化所有业务逻辑。
评论点赞收藏750 天前

登录芦苇

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