41 篇文章
Hacker News人气竞赛
HN Popularity Contest
本文阐述了基于Hacker News提交数据来定义和排名个人博客的方法论。它明确了个人博客的认定标准、分数聚合规则以及数据集的更新频率。
如何撰写开发者愿意阅读的博客文章
How to Write Blog Posts that Developers Read
本文探讨了开发者在撰写博客文章时常犯的错误,这些错误会赶走读者,尽管他们拥有有价值的见解。文章强调,这些错误一旦被识别就很容易纠正,但许多博主却年复一年地重蹈覆辙。
如何撰写引人入胜的软件发布公告
How to Write Compelling Software Release Announcements
文章批评了常见的软件发布公告过于技术化且与用户体验脱节。它主张有效的公告应聚焦于新功能如何改善用户的日常生活,而非仅仅罗列变更。
提升电子邮件效能的未充分利用技巧
Underused Techniques for Effective Emails
本文强调了有效电子邮件沟通对软件开发者的重要性,指出其能节省时间、减少误解并赢得专业认可。
关于我的章节列表的读者反馈
Reader Feedback about my Chapter List
作者分享了在过去八个月里,以渐进方式撰写《重构英语:软件开发者高效写作》一书的经历,并实时获取读者反馈。他们最初撰写的是自认为读者会喜欢的章节,但在完成约50%后,希望确保剩余章节真正符合读者的学习需求。
亚当·戈登·贝尔谈通过博客吸引客户
Adam Gordon Bell on Attracting Customers through Blogging
本文是对开发者兼博主亚当·戈登·贝尔的采访,重点探讨了他如何通过博客内容吸引客户。文章概述了讨论要点,包括登上Hacker News首页的技巧、发掘吸引潜在客户的主题以及提升写作能力的方法。内容包含视频嵌入和结构化的采访文字稿。
塑造我的软件文章
The Software Essays that Shaped Me
作者回顾了20年来阅读过的、对其产生深远影响的软件文章,列出了10篇关键作品。文章以乔尔·斯波尔斯基的《乔尔测试》作为开篇,认为这是其最喜爱的奠基之作。
如何获取关于设计文档的有效反馈
How to Get Meaningful Feedback on Your Design Document
本文基于作者作为设计文档撰写者和评审者的双重经验,分享了获取有效反馈的实用技巧。文章针对评审周期冗长、反馈质量不高等常见问题,提出了优化流程、提升设计质量的具体策略。
《Crafting Interpreters》的引言为何如此出色?
What Makes the Intro to *Crafting Interpreters* so Good?
本文分析了Bob Nystrom的编程书籍《Crafting Interpreters》的引言,称赞其作为技术写作范本的高效性。文章强调了该书在教授语言实现和核心开发技能方面的价值,同时指出开发者通常难以写出引人入胜的引言。
2025年Hacker News最受欢迎的博客
The Most Popular Blogs of Hacker News in 2025
本文介绍了一个用于识别2025年Hacker News上最受欢迎个人博主的工具,其采用的方法论将个人博客与公司或团队撰写的内容区分开来,并以John Graham-Cumming为例说明了筛选标准。
原子设计在1998年
Atomic Design in 1998
文章揭示,由布拉德·弗罗斯特在2013年推广的原子设计概念,实际上早在1998年就由青蛙设计公司的马克·罗尔斯顿开发并应用。文章展示了戴尔设计中心项目的档案证据,该项目体现了相同的模块化、基于组件的设计系统原则。布拉德·弗罗斯特承认模块化设计思想早于他的工作,尽管他当时并不知晓这一更早的具体实践。
安全文件传输项目
Secure File Transfer
作者讲述了在青蛙设计公司领导团队重新设计IBM安全文件传输应用的经历。过程包括对金融客户的远程用户研究,确定短期UI修复和长期集中管理目标,并在IBM严格的品牌规范下指导视觉与交互设计。
聊天是开发工具的一种糟糕UI模式
Chat is a bad UI pattern for development tools
本文认为,聊天式界面从根本上不适合严肃的软件开发,因为它缺乏所需的精确性和结构性。文章将编程比作撰写法律文件而非随意对话,并主张开发基于结构化文档的AI工具,以清晰捕捉意图、促进协作并系统化管理变更。
将PuTTY移植到Windows on Arm平台
Porting PuTTY to Windows on Arm
本文探讨了将PuTTY应用程序移植到Windows on Arm平台的过程,涵盖了针对Arm和x86架构的编译调整。文章还深入探讨了用于加速加密操作的NEON指令集。
为《Net》游戏编写求解器
Writing a solver for Net
本文描述了为益智游戏《Net》编写的自动求解器,是对一封邮件询问的回应。文章简要介绍了求解器的用途和背景。
为《扫雷》游戏编写可解棋盘生成器
Writing a soluble-grid generator for Mines
本文描述了为作者开发的益智游戏《扫雷》生成保证可解棋盘的技术方法。文章是为回复一封用户邮件查询而撰写的。
PuTTY的发展历史
History of PuTTY's development
本文简要概述了流行的SSH和telnet客户端PuTTY从1996年诞生到2020年的发展历程。文章是为回应一封具体的电子邮件问询而撰写的。
在PuTTY中实现OpenSSH证书支持
Implementing OpenSSH certificate support in PuTTY
本文回顾了PuTTY 0.78版本中作为主要新功能——为服务器密钥和用户密钥实现OpenSSH风格证书支持——的开发过程。
两种随机生成非周期铺砖的算法
Two algorithms for randomly generating aperiodic tilings
本文描述了在益智游戏《Loopy》中生成彭罗斯铺砖和帽子铺砖的算法。它简要介绍了在游戏中实现这些非周期铺砖方法的技术要点。
非周期性Spectre铺砌的组合坐标
Combinatorial coordinates for the aperiodic Spectre tiling
本文描述了在益智游戏《Loopy》中生成非周期性Spectre铺砌所使用的算法。它是一份关于在软件环境中实现特定非周期性铺砌模式的技术说明。