知名开发者 Tonsky 求职:20 年经验,寻求 Clojure 与底层技术机会知名开发者 Tonsky 结束休假寻找新机会,拥有 20 年经验,擅长 Clojure、底层编程及 UI/DX 设计。曾参与 Roam Research、JetBrains Fleet 等项目,希望加入技术 ambitious 的团队。 评论点赞收藏72 天前
每一帧都完美:UI细节如何决定用户信任<p>翻译:</p><p>前段时间我在读关于 Wayland 的文章,有一句话让我印象深刻:</p><p>Wayland 的一个明确目标是“”。</p><p>我认为这也是我们每个人都应该追求的目标。Wayland 谈的是技术层面——现代 GPU 的软件栈非常复杂,而 Wayland 正在试图重新掌控它——但这一理念同样可以应用于用户界面。</p><p>一个简单的经验法则就是:</p><p>如果我在任何时候截取你的应用的屏幕截图,你都应该能清楚地解释我看到的内容。</p><p>编辑:之前这里写的是“……它必须说得通”,但这无法涵盖一些高级的动画技巧,比如拖影帧之类的情况。</p><p>为什么要关注每一帧?因为这能建立信任。用户看不到代码,所以用户界面是他们判断应用质量的唯一依据。如果界面看起来很精致,就意味着开发者花时间打磨过它,也意味着他们很可能投入了相当的时间来完善代码。<br><br>这是一种启发式方法,但也是合理的。</p><p>那么,在实践中这意味着什么?我想到了几点:</p><p>屏幕切换时没有白色闪烁。</p><p>没有部分内容加载不完整的情况。</p><p>内容加载过程中不会发生布局重排。</p><p>内部一致性。如果界面的一部分显示“有 1 个更新可用”,另一部分就不应显示“正在检查更新……”。</p><p>精确的动画效果。</p><p>动画常常被忽视。界面在起始和结束状态可能都很出色,但在过渡过程中却显得很卡顿。比如这样:</p><p>如果你觉得这里面有些奇怪的地方,那确实有!看看慢放后的版本:</p><p>现在我们套用刚才的规则,在动画中间截几张图。这样看起来就不对劲了:</p><p>这样也不行:…</p> 评论点赞收藏108 天前
Claude 是 Electron 应用,因为我们已失去原生优势<p>文章认为,Claude 并非 Electron 应用,并不是因为大语言模型无法实现这一点,而是因为原生应用已不再具备任何优势。</p> 评论点赞收藏211 天前
计算机科学最难的问题:居中作者指出尽管CSS居中技术简单,但各大平台UI仍存在大量对齐瑕疵。文章深入分析了字体度量、行高、图标对齐等技术难点,揭示了字体设计缺陷和Icon Font的局限性,并提供了针对设计师、字体设计师和开发者的具体修复方案与代码示例。 评论点赞收藏227 天前
2025年如何成功入职:软件工程师测试作业中的警示信号作者 tonsky 分享了一份关于软件工程师测试作业中的红旗信号,旨在帮助求职者避免常见错误,提高2025年的求职成功率。 评论点赞收藏308 天前
贪婪的软件程序作者反思软件角色的转变,指出过去是我们使用软件,现在变成了软件在利用我们。文章探讨了现代软件如何通过过度索取权限、数据和注意力来反客为主,引发了对技术依赖和软件伦理的思考。 评论点赞收藏321 天前
当你写宏写得足够聪明时作者深入探讨了Clojure中hashp调试宏在线程宏中的失效问题,并通过巧妙的探针技巧设计了一个能自动识别线程方向的新宏,展示了极具工程美感的元编程解决方案。 评论点赞收藏349 天前
讲座:为什么计算机不会计算?@ PodlodkaPodlodka 讲座回顾,深入讲解计算机数值表示(int, float, NaN, BigInt等),解释 0.1+0.2!=0.3 的本质,适合对底层原理感兴趣的开发者。 评论点赞收藏394 天前
我们本不需要 lockfile作者强烈反对在依赖管理中引入 lockfile,认为基于语义化版本号的确定性解析算法足以保证构建可复现。文章指出 lockfile 增加了复杂性,并以 Maven 为例证明没有 lockfile 也能在大规模项目中稳定运行,甚至通过最近版本优先策略解决冲突。 评论点赞收藏419 天前
被大模型“煤气灯”式操控的开发模式作者通过自身产品Instant的案例,指出LLM会根据其训练数据中的常见模式,强行要求开发者修改API以符合“标准”用法(如将tx.update改为tx.create)。 文章探讨了这种“煤气灯效应”驱动的开发模式:虽然感觉怪异,但这实际上是一种独特的测试手段,能让开发者体验“新手视角”,同时也引发了关于API设计是否应迎合大众直觉还是保持独特性的思考。 评论点赞收藏440 天前
我设计的 Logo 作品集Clojure 知名开发者 Tonsky 的个人作品集页面,展示了其多年来为 Clojure 生态系统项目(如 Clj-Kondo, DataScript, Babashka 等)及开源社区设计的 Logo。 内容主要为视觉展示与项目链接,缺乏深度技术解析或行业观点。 评论点赞收藏479 天前
软件幻灭:为何我们不再追求高效与卓越作者回顾15年编程生涯,痛陈软件行业在效率、简洁和卓越方面的缺失。文章指出软件运行效率极低、体积臃肿、稳定性差,且构建工具和依赖管理混乱。 作者呼吁工程师重拾对工程质量的追求,拒绝“移动快于修复”的懒惰文化,追求更快、更可靠、更高效的软件。 评论点赞收藏566 天前
2023年软件开发者必须掌握的 Unicode 基础知识本文是对 Joel Spolsky 经典文章的2023年更新。作者深入剖析了 UTF-8 编码、Unicode 码点与扩展字素簇(Extended Grapheme Clusters)的区别,指出开发者常因混淆字节长度与字符长度导致 Bug。 文章强调必须使用 ICU 等库处理字符串操作,并解释了 Unicode 规范化(Normalization)和区域设置(Locale)依赖带来的复杂性,是后端和全栈开发者必读的基础知识。 评论点赞收藏567 天前
SwiftUI 的默认值设计是有害的作者深入批评了 SwiftUI 框架中过度‘智能’的默认行为,如隐式逗号处理、魔法间距和不透明的默认样式。文章认为这些特性导致代码不可预测、调试困难且维护成本高,主张框架设计应遵循‘显式优于隐式’的原则,保持简单和可预测性,以牺牲部分新手便利性为代价换取专业开发者的可控性。 评论点赞收藏575 天前
可视化编程的终局:是代码的附属,还是独立的可执行实体?作者结合个人经验,将可视化编程分为四个层级:独立图表、代码旁图表、代码生成图表、以及作为独立可执行实体的图表。作者反对用可视化完全替代文本代码,主张将可视化视为类似游戏引擎场景编辑器的独立工具,专门处理状态机等适合可视化的逻辑,而非试图可视化所有业务逻辑。 评论点赞收藏795 天前