June 25, 2025
2025年6月25日
The Accidental Art of Writing Shit That Matters
重要的偶然艺术很重要
Note: You can find hacker news discussion on this post here. And, as usual, you can read the original chatgpt convo I had while writing drafts of this post, especially for the curious peeps interested in the generated artwork!
注意:您可以在此处找到这篇文章的黑客新闻讨论。而且,像往常一样,您可以阅读我在撰写这篇文章草案时所拥有的原始Chatgpt Convo,尤其是对于对生成的艺术品感兴趣的好奇窥视!
Two weeks ago, I wrote a blog post about using Claude Code in production. It hit the Hacker News front page, drove 87k unique visitors, forced me to upgrade Cloudflare, and, perhaps most importantly, shattered my deep cynicism about online content these days. This is that story, and what I learned from it.
两周前,我写了一篇博客文章,内容涉及在生产中使用Claude代码。它打到了黑客新闻头版,开车87K唯一的访问者,迫使我升级Cloudflare,也许最重要的是,这些天来,我对在线内容的深刻愤世嫉俗震惊了。这就是这个故事,也是我从中学到的东西。
In retrospect, what I (re-)learned was that good writing:
回想起来,我(重新)学到的是那种好写作:
Maximum Cynicism
最大的犬儒主义
I’d been using Anthropic’s Claude Code for months at Julep, shipping real features to production. We’d developed some techniques—like anchor comments that leave breadcrumbs for AI context—that genuinely transformed our workflow. Classic “scratch your own itch” material.
我已经在Julep上使用了Anthropic的Claude代码,将真实的功能运送到生产中。我们已经开发了一些技术,例如锚定评论,使面包屑留在AI上下文中 - 确实改变了我们的工作流程。经典的“刮擦您自己的痒”材料。
But when it came time to write about it, I was drowning in cynicism. Years of watching HN had taught me the choreography: post at the right time, get your friends to upvote early, craft the perfect clickbait-but-not-too-clickbait title. I’d tried it all before. It felt gross.
但是,当我写它时,我淹没了犬儒主义。多年观看HN教会了我的编舞:在正确的时间发布,让您的朋友尽早投票,制作完美的点击诱饵,但不用窃听标题。我以前尝试过。感觉很粗糙。
So this time? I just… didn’t. Wrote the post as a labor of love, dropped it on HN after my last edit, and went to sleep thinking “bah humbug, another post into the void.”
所以这次?我只是……没有。将帖子写为爱的劳动,在我上次编辑后将其放在HN上,然后睡着了,想着“ Bah Humbug,另一个陷入了空白的帖子”。
As I admitted in the thread:
正如我在线程中承认的那样:
“To be honest, I know there are like a bajillion Claude code posts out there these days.” - diwank
“老实说,我知道这些天在那里有一个像布劳德的柱子一样。”-Diwank
And yet:
但是:
The Original Post (30-Second Version)
原始帖子(30秒)
The post documented how we use Claude Code at Julep—not theoretically, but with “real users with real money on the line.” Three key ideas:
该帖子记录了我们如何在Julep上使用Claude Code,而不是理论上,而是“有真实的钱在生产线上”。三个关键思想:
Three modes of AI coding: Playground (quick experiments), Pair Programming (Claude drives, you navigate), and Production (structured collaboration with clear boundaries) Anchor comments: A simple technique where you ask AI to leave itself breadcrumbs in your codebase: # AI-NOTE: Critical section - validate all inputs
AI编码的三种模式:操场(快速实验),配对编程(Claude Drivers,您导航)和生产(与明确边界的结构合作)锚评论:一种简单的技术,您要求AI将其留在代码库中:#AI -Note:#AI Note:CRITISTAR SECRATIND -CRITISTIADS ALL PITUTIS
# AI-TODO: Add rate limiting (ticket PLATFORM-892)
#ai-todo:添加费率限制(Ticket Platform-892)
# AI-QUESTION: Why do we transform data twice here? Hard lesson: Never let AI write tests. We learned this after bugs in production skyrocketed because “all of the devs including me got realllyy lazy with testing.”
#AI问题:为什么我们在这里两次转换数据?艰难的教训:永远不要让AI编写测试。我们在生产中的错误猛增后了解到了这一点,因为“包括我在内的所有开发人员都对测试进行了真实的懒惰。”
That’s it. No revolutionary framework. Just field notes from someone shipping code every day.
就是这样。没有革命性的框架。每天只从某人运送代码中的现场笔记。
Going Viral (Accidentally)
开病毒(偶然)
I woke up to a buzzing phone. Front page. Hundreds of upvotes. Comments like:
我醒来了一个嗡嗡作响的电话。头版。数百个上投票。评论如下:
And, apparently, nobody told me to not do this:
而且,显然,没有人告诉我不要这样做:
Then came the plot twist: a moderator flagged it under the “AI-generated content” rule after I’d transparently mentioned using Claude to help edit.
然后是情节扭曲:在我透明地提到使用Claude来帮助编辑的“ AI生成的内容”规则之后,主持人将其标记为“ AI生成的内容”规则。
Moderation Drama: A Win? ¯\(ツ)/¯
节制戏剧:胜利? \ \(tsu)/
The community pushed back for me! Arguing the content was original, valuable, and honestly disclosed.
社区为我推迟!争论这些内容是原始的,有价值的且诚实披露的。
yup.
是的。
ouch.
哎哟。
dang! (pun intended)
dang!(双关语)
.
。
.
。
.
。
The mods restored it at the same rank.
MODS以相同的等级恢复了它。
Who knew HN could be this dramatic, huh?
谁知道HN可能是这种戏剧性的,对吗?
People are starving for genuine expertise about AI tools, not more hype or fear-mongering. Let’s see. Final tally: 354 upvotes ,:
人们饿死了关于人工智能工具的真正专业知识,而不是更多的炒作或恐惧。让我们来看看。最终Tally:354个upvotes,:
,: 87k unique visitors (1.14M requests!),:
,:87K唯一访客(114m请求!),:
(1.14M requests!),: my first comment got 57 upvotes (?!),
(114m请求!),:我的第一个评论获得了57个upvotes(?!),
(?!), and the sweet, sweet realization that I’d been completely wrong all this time.
(?!),以及我一直完全错了的甜蜜,甜蜜的意识到。
Why I Think It Worked
为什么我认为它有效
Looking back, the post succeeded because it followed timeless principles that I’d been too cynical to trust:
回顾过去,该帖子之所以成功,是因为它遵循了我太愤世嫉俗而无法相信的永恒原则:
1. Lead With Genuine Care (You Can’t Give a Fake Damn)
1。真正的护理领导(您不能给假该死)
The most powerful hook isn’t clever—it’s caring. And what’s reassuring, especially in our noisy world, is that genuine care still works.
最强大的钩子并不聪明 - 它很关心。令人放心的是,尤其是在我们嘈杂的世界中,真正的护理仍然有效。
I didn’t open with “10 AMAZING AI CODING TRICKS.” I started with vulnerability: how Andrej Karpathy’s joke about “vibe coding” stopped being funny when it became my reality. That transformation—from laughing at the idea to living it—was authentic.
我没有打开“ 10个惊人的AI编码技巧”。我从脆弱性开始:Andrej Karpathy关于“ Vibe编码”的笑话在成为我的现实时就不再有趣了。这种转变(从嘲笑这个想法到实现它的想法)是真实的。
Honesty and self-awareness created immediate trust. In my first comment, I admitted:
诚实和自我意识立即信任。在我的第一个评论中,我承认:
“To be honest, I know there are like a bajillion Claude code posts out there these days.”
“老实说,我知道这些天在那里有一个像布劳德的柱子一样。”
Peter422 picked up on it:
Peter422上面拿起:
“As a very experienced engineer… I really appreciated seeing how you use them in production in a real project. Your post is giving me motivation to empower the LLMs a little bit more.”
“作为一名经验丰富的工程师……我非常感谢您如何在一个真实的项目中使用它们。
Here’s what’s both terrifying and liberating: you can’t manufacture giving a shit. You can polish prose and optimize titles, but readers smell authenticity from miles away. In an age of growth hacks, the fact that genuine care wins is profoundly hopeful.
这既令人恐惧又解放:您不能制造狗屎。您可以抛光散文并优化标题,但读者从英里之外闻到了真实性。在成长时代,真正的护理胜利是充满希望的事实。
2. Make It Instantly Applicable
2。使其立即适用
There’s useful, and there’s “I can literally use this right now.”
有用,并且“我现在可以从字面上使用它。”
The anchor comments are instantly useful, you can just copy-paste them into your CLAUDE.md file, and voila, you’re ready to go.
锚评论立即有用,您只需将它们复制到claude.md文件中,瞧,您已经准备好了。
### Guidelines: - Use `AIDEV-NOTE:` , `AIDEV-TODO:` , or `AIDEV-QUESTION:` (all-caps prefix) for comments aimed at AI and developers. - Keep them concise (≤ 120 chars). - **Important:** Before scanning files, always first try to **locate existing anchors** `AIDEV-*` in relevant subdirectories. - **Update relevant anchors** when modifying associated code. - **Do not remove `AIDEV-NOTE`s** without explicit human instruction.
###指南: - 使用`aidev note:`,`,`aidev-todo:`````'''或`aidev-问题:`(all-caps prefix)用于针对AI和开发人员的评论。- 保持简洁(≤120个字符)。- **重要:**在扫描文件之前,请始终尝试**在相关子目录中找到现有锚点** aidev-*`。- **更新相关锚**修改相关代码时。- **不要在没有明确的人类指导的情况下删除“ aidev-note” **。
Within hours, developers were implementing it. __mharrison__ jumped in: “I just tried this out with aider. It worked great. Vibe coded a PDF viewer with drawing capabilities in 30 minutes while waiting for a plane…”
在几个小时内,开发人员正在实施它。__MHARRISON __跳入:“我只是和Aider一起尝试了。它效果很好。Vibe在30分钟内在等待飞机时用绘制功能编码了PDF的观众……”
Noufalibrahim captured it: “This was very practical and gives me a system I can try to implement and perhaps improve.” Not “interesting ideas”—a system to implement.
Noufalibrahim捕获了它:“这非常实用,为我提供了一个可以尝试实施甚至可以改进的系统。”不是“有趣的想法”,这是一个实施的系统。
People later told me they’d made it required reading for their teams. That’s the multiplier effect: when something is so clearly useful that readers stake their reputation on sharing it.
人们后来告诉我,他们要求他们的团队阅读。这就是乘数效应:当某些东西如此有用时,读者在共享它时享有声誉。
People don’t bookmark theory. They bookmark things they’re going to use next Monday.
人们没有书签理论。他们在下周一将要使用的东西添加书签。
3. Share Your Journey (Not Just Information)
3。分享您的旅程(不仅仅是信息)
The post wasn’t “How to Use Claude Code” but “Field Notes from Shipping Real Code.” That positioning mattered.
该帖子不是“如何使用Claude代码”,而是“运输真实代码中的现场笔记”。该定位很重要。
I showed my progression: Playground → Pair Programming → Production. Readers could feel themselves in that journey because I showed how I got there, not where I ended up.
我展示了自己的进步:游乐场→配对编程→生产。读者可以在那段旅程中感到自己,因为我展示了我到达那里的方式,而不是最终到达的地方。
When kikimora asked about the 4-hour refactoring, I admitted:
当Kikimora询问4小时重构时,我承认:
“that didn’t include the testing, that def took a lot longer but at least now my devs don’t have an excuse for poorly written tests lol.”
“这不包括测试,DEF花费了更长的时间,但至少现在我的开发人员没有书面测试不好的借口。”
That “lol” carries frustration, humor, the reality of managing a team. It’s human in a way that “testing phase extended timeline by 3x” could never be. And yes, I lol too much.
幽默,管理团队的现实令人沮丧。人类以“测试阶段将时间表延长3倍”的方式永远不可能。是的,我大声笑。
Your unique take isn’t your conclusions—it’s your entire path to them. Readers can Google “AI coding best practices.” What they can’t find is how you, specifically, wrestled with these tools and came away changed.
您独特的看法不是您的结论,而是您通往他们的整个道路。读者可以谷歌“ AI编码最佳实践”。他们找不到的是您,具体来说,用这些工具搏斗并改变了。
4. Solve Problems You’ve Actually Felt
4。解决您实际遇到的问题
Every technique I shared came from actual pain at Julep. When I said “Humans write tests, never AI,” notice the exhaustion:
我分享的每种技术都来自Julep的实际痛苦。当我说“人类写测试,从不AI”时,请注意疲惫:
“We ran into really bad minefields when we tried to come back to manually edit the generated tests later on. Claude tended to mock everything because it didn’t have context about how we run services, build environments, etc.”
“当我们试图返回以后手动编辑生成的测试时,我们遇到了非常糟糕的雷区。克劳德倾向于嘲笑一切,因为它没有关于我们如何运行服务,建立环境等的背景。”
The anchor comments technique was born out of frustration:
锚评论技术是出于沮丧而诞生的:
“We found some really gnarly things that had been forgotten in the codebase.”
“我们发现了代码库中遗忘的一些非常粗糙的东西。”
Problems you’ve personally wrestled with have texture that theoretical problems never will. Your solutions have the specific shape of your specific pain.
您亲自搏斗的问题具有理论问题永远不会的质地。您的解决方案具有特定疼痛的特定形状。
5. Respect Intelligence (Don’t Dumb It Down)
5。尊重智力(不要愚弄它)
Here’s the counter-intuitive discovery: by refusing to oversimplify for technical readers, the post became more accessible to everyone—including non-coders.
这是违反直觉的发现:通过拒绝对技术读者过分简化,该帖子变得更容易被所有人访问 - 包括非编码者。
No hand-holding. Just straight examples from production.
没有手持。只是生产的直接例子。
Yet people who don’t code emailed saying they finally understood what these AI tools actually do. Why? Because I respected their ability to grasp concepts through context and clear examples.
然而,没有通过电子邮件发送电子邮件的人说,他们终于了解了这些AI工具的实际功能。为什么?因为我尊重他们通过上下文和明确的例子掌握概念的能力。
When explaining why AI shouldn’t write tests, I was blunt: “all of the devs on the team including me got realllyy lazy with testing. Bugs in production significantly increased.” A non-coder understands “lazy” and “bugs increased.”
在解释AI为什么不应该编写测试时,我直言不讳:“包括我在内的团队中的所有开发人员都对测试进行了真实的懒惰。生产中的错误大大增加了。”一个非编码器理解“懒惰”和“虫子增加”。
Good writing isn’t about simplification. It’s about clarity. When you respect all readers’ intelligence, they rise to meet you.
好的写作与简化无关。这是关于清晰的。当您尊重所有读者的智慧时,他们会与您见面。
These aren’t tricks or hacks. They’re principles that work because they align with what readers actually want: authentic experiences they can trust, practical solutions they can use today, unique perspectives they can’t find elsewhere, battle-tested advice from real struggles, and the respect to draw their own conclusions.
这些不是技巧或黑客。它们之所以起作用,是因为它们与读者真正想要的东西保持一致:他们可以信任的真实经验,他们可以使用的实用解决方案,他们在其他地方找不到的独特观点,来自真实斗争的战斗测试建议,以及尊重自己的结论。
The internet isn’t broken. Quality still wins. It just has to be real quality—the kind that comes from actually caring, actually struggling, and actually solving problems. Turns out even in our noisy, hype-filled world, authentic writing genuinely connects. No gimmicks needed—just write with honesty, clarity, and a real desire to share something that matters.
互联网没有打破。质量仍然获胜。它只是必须是真正的质量 - 这种质量来自实际关心,实际挣扎以及实际解决问题的质量。事实证明,在我们嘈杂,充满炒作的世界,真实的写作真正的联系。不需要头 - 只是诚实,清晰和分享重要的东西的真正渴望写作。
Eudaimonia FTW
Euda na ftw
Here’s what shattered my cynicism: the post succeeded precisely because I’d given up on making it succeed. No optimal posting time. No upvote coordination. No title A/B testing. Just solving a real problem and sharing what I’d learned.
这就是我的犬儒主义破坏的原因:帖子成功了,正是因为我放弃了使它成功。没有最佳发布时间。没有投票协调。没有标题A/B测试。只是解决一个真正的问题并分享我学到的东西。
Good technical writing has eudaimonia—focus on genuinely helping readers, and the metrics follow.
良好的技术写作具有Eudaimonia - 真正地帮助读者,并随之而来的指标。
The Greeks had this word—eudaimonia— often translated as “flourishing” or “the good life.” It’s about things that are intrinsically good, not just instrumentally useful. Turns out the secret to virality is being useful. Who knew?
希腊人有这个词 - eudaimonia,通常被翻译成“繁荣”或“美好的生活”。这是关于本质上好的事物,而不仅仅是在工具上有用。事实证明,病毒的秘诀是有用的。谁知道?
What I’d Do Differently
我会做不同的事情
One regret: I had zero contact info or newsletter signup on the post. When 87k people visit, even a simple “reach out at email@” would’ve opened doors. Don’t be me—add a low-friction way for interested readers to connect while momentum is hot.
一个遗憾:我在帖子上有零联系信息或新闻通讯注册。当8.7万人访问时,即使是一个简单的“在电子邮件@伸出手”也会打开门。别成为我 - 在动力很热时,有兴趣的读者可以连接的一种低摩擦方式。
Oh, and compress your images. Someone pointed out my header image was 2.3MB and “loaded comically slowly even on wifi.” Rookie mistake.
哦,压缩图像。有人指出我的标题图像是2.3MB,“即使在wifi上也可以慢慢加载”。新秀错误。
Your Own Field Notes
您自己的现场笔记
Does it look more like this one or that one to you??
它看起来更像是这个还是那个?
If you’re sitting on hard-won technical knowledge, wondering if it’s worth sharing:
如果您坐在艰苦的技术知识上,想知道是否值得分享:
A specific technique you developed?
您开发的特定技术?
Your journey to adoption?
您的收养旅程?
Any limitations you discovered?
您发现有任何限制吗?
The framework you use to think about it?
您用来考虑的框架?
Your authentic voice and experience?
您的真实声音和经验?
No tricks needed—just the confidence to trust that good work (once polished with care) finds its audience.
无需技巧,只是相信相信这项良好工作(一旦谨慎地打磨)就能找到受众的信心。
The internet isn’t broken. Readers aren’t ruined. Quality technical content still wins.
互联网没有打破。读者没有被毁了。优质的技术内容仍然会获胜。
Now if you’ll excuse me, I need to add a newsletter signup to my blog before lightning strikes again. (Update: added below)
现在,如果您能原谅我,我需要在再次闪电之前向我的博客中添加新闻通讯注册。(更新:下面添加)
Thanks to Ishita (my cofounder) and the Julep team for reading drafts of this. Shoutout to blot.im for creating and maintaining a delightful blogging service, and to Obsidian for being my new favorite editor.
感谢Ishita(我的联合创始人)和Julep团队阅读草稿。喊叫blot.im,以创建和维护令人愉悦的博客服务,以及成为我最喜欢的编辑的黑曜石。
Have an HN success (or failure) story? I’d love to hear it: [email protected]
有成功(或失败)的故事吗?我很想听听:[电子邮件保护]
Want the full anchor comments framework? Check out the original post.
想要完整的锚评论框架吗?查看原始帖子。