惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
Recent Commits to openclaw:main
Recent Commits to openclaw:main
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
罗磊的独立博客
V
Visual Studio Blog
爱范儿
爱范儿
H
Help Net Security
J
Java Code Geeks
I
InfoQ
Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recorded Future
Recorded Future
Jina AI
Jina AI
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
GbyAI
GbyAI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
Scott Helme
Scott Helme
S
SegmentFault 最新的问题
S
Securelist
L
LINUX DO - 热门话题
Cyberwarzone
Cyberwarzone
C
Cisco Blogs
Simon Willison's Weblog
Simon Willison's Weblog
G
Google Developers Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
T
The Blog of Author Tim Ferriss
博客园_首页
B
Blog
F
Fortinet All Blogs
AWS News Blog
AWS News Blog
V
Vulnerabilities – Threatpost
S
Secure Thoughts
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Forbes - Security
Forbes - Security
S
Security @ Cisco Blogs
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Schneier on Security
Project Zero
Project Zero
Martin Fowler
Martin Fowler
C
Cybersecurity and Infrastructure Security Agency CISA
N
Netflix TechBlog - Medium
N
News and Events Feed by Topic

暗无天日

读:AI Agent 安全日志——从可见性与隐私的两难说起 - 暗无天日 读:AI Agent 生产化——一份从原型到上线的速查清单 - 暗无天日 AI写作的语言指纹——如何让文字不那么像机器 - 暗无天日 读:50 条 Claude Code 技巧——一个工程经理的六个月使用心得 读:AI 辅助开发为什么让 E2E 测试更有价值 - 暗无天日 读:在Emacs中使用Claude Code(Spacemacs适配版) - 暗无天日 Claude Code 背后的工程哲学——读 Agent Harness Engineering 读:Agent Harness Engineering——AI 智能体不只是模型,还有套件 - 暗无天日 browser-harness:让 AI 直接接管你的浏览器 - 暗无天日 读:Security-First CI/CD —— DevSecOps 自动化实践指南 TIL: 数字小键盘的小数点陷阱与行内算术求值 - 暗无天日 读:Immutability 不是万能药,它是一种权衡 - 暗无天日 Conducty:给 Claude Code 加上项目记忆和并行执行能力 - 暗无天日 读 — GitHub Trending 里的 Claude Code 技能包 读 — Prompt Caching 省钱指南 TIL: Emacs 中那些跟鼠标配合的冷门快捷键 - 暗无天日 读:Anvil——把 Emacs 变成 AI 的工具服务器 读:Emacs 代码折叠终极指南 - 暗无天日 读:Clojure 搭车客指南 - 暗无天日 git推送失败后恢复仓库损坏的完整记录 - 暗无天日 多智能体系统的两个有效模式——以及对 Claude Code 用户的启示 - 暗无天日 用 Org Babel 写 Literate 博文:扩展执行 + 定制导出 proced:Emacs 内置的进程查看器 - 暗无天日 从 proced 定制中学到的 Elisp 模式 读:让 Emacs proced 在 macOS 上显示 CPU 和内存 异步编程的函数着色税 - 暗无天日 链式调用的代价:JavaScript 和 Clojure 的共同教训 - 暗无天日 hyperfine:命令行基准测试工具 - 暗无天日 管道中的变量去哪了?——子 shell 作用域陷阱 - 暗无天日 开源包装器的信任陷阱:四个危险信号 - 暗无天日 程序员愿意为 AI 写文档,却不愿为同事写 - 暗无天日 mktemp: Shell 脚本中临时文件的安全陷阱与最佳实践 - 暗无天日 WSL9x —— 在 Windows 9x 里跑 Linux 内核 6.19 用 ox.el 做你想做的事 —— org-export 高级编程指南 读:Hot-wiring the Lisp Machine —— 用纯 Elisp 构建零依赖的 Org 静态站点生成器 Elisp 性能优化的六个实战教训 - 暗无天日 fcitx5 下 Emacs 无法切换输入法的排查 - 暗无天日 ERT 测试交互命令的三种方式 - 暗无天日 SEM Assistant: 当 Elisp 守护进程遇上 LLM 用 dmsg 给 Elisp 加上结构化调试日志 用 org-habit 追踪非每日习惯 - 暗无天日 Clojure X-Men:当编程语言特性变成超能力 - 暗无天日 TIL: 用 diff-hl 在 fringe 中显示 git 变更 读:llm-test —— 用 LLM agent 驱动 Emacs 测试 TIL: AI 时代的橡皮鸭调试 - 暗无天日 fcitx 启动后键盘输入卡顿的排查 - 暗无天日 TIL: 早期网页的图片热区导航 - 暗无天日 读 Seeing the Whole System 用 Emacs 自动生成每周链接推荐 - 暗无天日 读:ASCII control characters in my terminal 读 What to learn - 暗无天日 Lisp 的括号之痛——一个愚人节玩笑揭开的老伤疤 - 暗无天日 一本书该"线性读"还是"并行读" - 暗无天日 读 How to Monetize a Blog:一篇伪装成变现指南的讽刺文 Python Mock 第三方依赖的四种策略 - 暗无天日 Emacs Lisp 热重载实用指南 - 暗无天日 Prot 的 Emacs 配置哲学 - 暗无天日 TIL: 从直播对谈中学到的三个 Emacs 技巧 - 暗无天日 TIL: 自动使用项目虚拟环境的 Python - 暗无天日 TIL: 让 Help buffer 自动获得焦点 一条命令让本地开发用上 HTTPS —— slim 工具介绍 用 fsck 检查和修复 Linux 文件系统 排查Linux进程"卡死"实战:从strace到gdb全流程 - 暗无天日 PostgreSQL 索引:从基础到你可能不知道的高级用法 - 暗无天日 用 .pdbrc 自定义 Python 调试器 ANSI 转义码的标准化现状 - 暗无天日 终端程序的潜规则 - 暗无天日 PARA Org-mode 测试配置 - 暗无天日 AI越强越辣鸡?控制论说这是必然的 - 暗无天日 AI 越强越需要你盯着——反馈循环实操指南 - 暗无天日 你的AI代理正在偷你的密钥——四种你没想到的泄露通道 - 暗无天日 LLM 在 DevOps 中的三种角色 - 暗无天日 反驳本质复杂性——Dan Luu 论为什么《没有银弹》错了 - 暗无天日 文件充满了危险——Dan Luu 谈文件系统的可靠性陷阱 - 暗无天日 AI 时代的 PARA 方法:用 Org-mode 和 AI 打造个人知识管理系统 Linux 数据去重学习笔记 - 暗无天日 创建跨平台 ZIP 文件的隐藏陷阱:Extra Field - 暗无天日 X11 Forwarding 排障指南 - 暗无天日 IP欺骗端口扫描:当别人冒充你去扫描别人 - 暗无天日 Linux 输入栈全景解析:从硬件按键到屏幕响应 - 暗无天日 Unix 系统中那些被埋没的配置开关——以 FontConfig 为例 - 暗无天日 在Linux上限制儿童使用电脑 - 暗无天日 GIF不仅仅是一种图片格式——用GIF流做些奇怪的事 - 暗无天日 Leiningen 学习笔记:Clojure 项目构建与管理从入门到实战配置 - 暗无天日 Google SRE Book 读书笔记 - 暗无天日 yes 管道 head 发生了什么 - 暗无天日 为什么 nohup 在 crontab 中不起作用 Bash中的Indirection与Nameref - 暗无天日 Linux PAM 简介 - 暗无天日 从Linux ISO文件启动计算机 - 暗无天日 用 Bash 打造一个Screen Locker 用GitHub Actions自动构建EGO博客 - 暗无天日 blocking I/O 的作用 - 暗无天日 mobileog 手机端同步提示Error:2 No such file 的解决方法 回收 WSL2 VHDX 文件占用空间 使用 org-mode columnview 生成任务列表 - 暗无天日 Emacs 作为 MPD 客户端 - 暗无天日 移动文件路径却不破坏org file link的方法 - 暗无天日 如何合理的导出help link 成HTML - 暗无天日 笑话理解之Biology - 暗无天日
写作风格的反建议 - 暗无天日
lujun9972 · 2026-04-16 · via 暗无天日

写作风格的反建议

目录

  • 四位博主,四种风格
  • 经典风格 vs 详实风格
  • 风格来自目标,而非模仿
  • 抄袭表面的失败
  • 写作过程的设计
  • 写作方法的演变
    • 拆分优于合并
    • "显而易见"的东西值得写
    • 大量使用案例
    • 叙事连贯性
  • 反馈的悖论
  • 灵感无处不在

Dan Luu 在 Some thoughts on writing 中提出了一个反直觉的观点:大多数写作建议本质上是在说"像我这样写",而真正重要的是找到适合你自己的风格。

四位博主,四种风格

Dan Luu 观察了 2000 到 2017 年间他社交圈中最受欢迎的编程博客作者:Joel Spolsky、Paul Graham、Steve Yegge 和 Julia Evans。这四个人在以下维度上截然不同:

  • 话题选择
  • 文笔风格
  • 文章长度
  • 幽默类型(如果有的话)
  • 技术细节的深度
  • 支撑证据的多少
  • 细腻程度(nuance)

以长度为例,Julia Evans 和 Dan Luu 都从 2013 年开始写博客。到 2017 年底,两人的总字数相近,但 Julia 发布的文章数量大约是 Dan Luu 的十倍。

经典风格 vs 详实风格

Paul Graham 的写作属于 Thomas & Turner 在 Clear and Simple as the Truth 中定义的"经典风格"(classical style)。这种风格的特点是:

  • 文笔干净、直接、简洁
  • 不呈现支撑证据,因为"真理只需要准确的呈现,不需要论证"
  • 作者呈现全知姿态,将经验结晶为永恒的、绝对的序列

Dan Luu 的风格则截然相反。他的句子往往冗长、蜿蜒,刻意包含结构化论证和证据,并附上适用性说明。他认为不加证据的陈述无法说服读者,他更希望读者了解他得出结论的理由,从而能在理由层面上同意或不同意。

风格来自目标,而非模仿

Dan Luu 认为风格应该从你的目标和天赋出发。他个人的写作目标包括:

  • 解释多数人不理解的技术话题(如分支预测、malloc、缓存分区)
  • 论证少数派观点(如文件系统不好用、上市公司薪酬其实很高、monorepo 并不蠢)
  • 做评测
  • 讨论有趣的现象(如有趣的断裂点、知识转移的困难、偏差的正常化)

当你把"详细讨论"这个偏好与上述任何一个目标结合,得到的风格就和前面提到的所有作者都不同。

抄袭表面的失败

模仿他人风格之所以困难,是因为人们往往抄袭的是表面元素而非深层驱动力。

Natalie Wynn(ContraPoints)观察到抄袭她风格的人会堆砌华丽的视觉效果,却不理解这些视觉元素之所以存在是因为它们与主题有关联。她的建议是:"试着说点什么。"

实用射击领域的 Rob Leatham 说,学生模仿他握枪的姿势,却不知道那个姿势不是目标,而是其他动作的结果。

Brian Enos 回忆自己最初盲目模仿当地最佳射手的姿势体系,练了一两年后发现那些姿势并不适合自己的身体结构和态度,最终从各种射击风格中汲取灵感,形成了自己的方法。

Dan Luu 舞蹈教练的抱怨也类似:学生会问左脚应该交叉在右脚前面还是后面,但真正重要的是脚的位置是否合理,这取决于人的重心如何移动。

更一般的规律是:不理解就抄袭,必然会抄到不重要的表面细节上。

写作过程的设计

Dan Luu 开始写博客时设定了以下过程目标:

  1. 低启动成本 ——他观察到最常见的博客格式是只有一篇"我开博了"的文章。所以他没做任何研究就用了 Octopress(后来证明是个大错误,应该用纯 HTML 或 WordPress),但低启动成本的理念是对的
  2. 通过每篇文章改进写作技术 ——不纠结于单篇文章的质量
  3. 只在有值得发布的内容时才发布 ——他认为过程目标比结果目标更适合个人项目。固定频率发帖可能导致追求数量而牺牲质量
  4. 写一个自己愿意订阅的博客 ——避免:拆分文章、标题党、重复炒同一话题、没有 RSS
  5. 在自己的平台上写 ——他开始写博客时,Posterous 已被 Twitter 收购后关闭,Blogspot 被 Google 收购后严重损害读者体验。当时的热门平台 Svbtle 和 Medium 后来也各遭遇困境。不能信任别人的平台不会在你脚下消失或为了盈利而改变

写作方法的演变

Dan Luu 的写作方法经历了几个重要变化:

拆分优于合并

早期他担心单个想法不够有趣,会等待把多个想法合并成一篇文章。回头看,早期许多文章分开发布效果会更好。例如 2016 年关于薪酬的文章同时讨论了薪酬可能趋向双峰分布和程序员相对于其他高薪行业门槛极低,两个想法不应该捆绑在一起。

"显而易见"的东西值得写

他曾经回避写看起来太显而易见的内容。后来他改变了看法,许多最有影响力的文章恰恰是那些他曾经认为"太显而易见不值得写"的主题。

大量使用案例

受 Ben Kuhn 的建议影响,他开始大量举例。大量举例能减少读者自行脑补出错误理解。例如他写过一篇关于"某项技能达到前 5% 需要什么水平"的文章,但给的案例太少,结果很多读者误以为国际象棋特级大师(实际水平远超前 0.1%)只是前 5% 的程度——读者用自己的想象填补了示例的空白,却填错了。

Jamie Brandon 也经历了类似转变。他早期的写作常常出现金句,但与真实世界的联系较松散。后来他转向聚焦具体示例,因为:(a) 非具体的想法很难证伪,容易自欺;(b) 让读者更容易吸收你试图传达的想法,而非某个表面相似但不同的想法。示例能把想法"钉"住,让它可以被正确检视。

叙事连贯性

在专业编辑的帮助下,他更注重文章上下句、上下段之间的逻辑衔接,让文章读起来更顺畅。但他也承认这有极限——你没法让所有人都读懂。一个证据是:在 Reddit 或 Ask MetaFilter 上,如果一个提问包含两个条件,大量回答者只会看到其中一个就作答,完全无视另一个条件。既然很多人连一个简短的提问都不愿完整阅读,作者不可能靠优化文章结构来解决"读者不认真读"的问题。因此他的原则是:只为那些愿意认真阅读的读者优化文章结构,不值得为不认真的人浪费精力。

反馈的悖论

Dan Luu 对写作反馈的看法是:

  • 大多数反馈是有害的 ——本质上是"你应该像我这样写",往往只关注表面问题而忽略结构性问题,而且会把有自然美感的文笔变成平庸的"Strunk & White 体"
  • 对负面反馈的态度因类型而异 :对于"论证有逻辑漏洞"的批评,他非常认真对待;对于"这篇文章很无聊/没意义"的评价,他基本忽略——回顾过去,那些告诉他文章改变了自己人生的人最多的文章,恰恰也收到了最多的"无聊/没用"评价
  • 他的解决方案 :雇佣了一位他尊重其写作和编辑能力的专业编辑,在文笔方面听从编辑意见;同时有一群信任的人审查文章的有趣程度和论证可靠性
  • 识别坏反馈的方法 :观察一个人给别人反馈的质量。给你坏反馈的人通常给别人反馈也一样差,这样可以在几分钟内判断其反馈是否值得重视,而不必花几小时自我怀疑

灵感无处不在

当被问到灵感从哪来时,Dan Luu 的回答是:到处都是。他有大约一百篇已经基本可发布的草稿,如果算上脑子里构思好但没写下来的,数量要以千计。

他举了一个例子:最近开始玩 surf ski(一种皮划艇),几周内就产生了大约二十个博客文章想法——关于独木舟划桨的演变和设计(技术角度两篇,文化因素两篇)、皮划艇划桨设计(五六篇)、船体设计的技术方面(四篇)、文化历史方面等等。

不是因为他对皮划艇特别感兴趣,而是 一切看起来都足够有趣,值得写二十篇文章 。世界是巨大的、奇妙的,任何话题深入下去都有无穷的有趣内容——就像分形图案,不管怎么放大,都能看到新的结构。