HN 写作课

工程师们二十年里聊过的写作。

工程师、作家、编辑和创业者在 Hacker News 上聊了二十年“怎么写”:怎么写得清楚、怎么讲好一个故事、技术文档怎么写、小说和出版是怎么回事。这里把其中关于写作与讲故事的帖子挑出来,配上中文导读、可以直接用的写作要点和评论翻译。

从必读开始
  • 2,600+篇关于写作的 HN 讨论

Writing tips

写作锦囊

正在抽一条写作要点…

Essential

必读 30 篇

在讨论库里看全部精选

编辑精选里 HN 讨论最热的 30 篇,每篇都有中文导读和写作要点。

  1. 正在载入…

Archive

讨论库

按发帖年份分布,点柱子筛选。

排序

    About

    这些讨论是怎么挑出来的

    1. 01

      从全量里捞

      读取 Hacker News 自 2006 年以来的全部帖子,用关键词先捞出 40 分以上、可能和写作有关的约 1.1 万篇。

    2. 02

      只留真正讲写作的

      由 AI 逐条判断是否和写作、讲故事、文风、出版有实质关系,剔除“写代码”“编辑器”这类字面撞车,并分进十个类别。

    3. 03

      提炼可用的要点

      为值得读的帖子写中文导读,提炼 2-4 条可以直接用到自己写作里的要点,并精选翻译 HN 高赞评论。内容由 AI 生成,可能有误。

    写作方法2022lambdaway.free.fr

    Show HN:一个可书写、计算和绘图的网页文本编辑器

    Show HN: A web text-editor where you can write, compute and draw

    阅读原文 HN 讨论
    218HN 得分
    40条评论
    4条写作要点

    导读

    这是 lambdaway 的作者展示的一个网页文本编辑器:在同一个页面里写文字、跑计算、画图,全部基于一种括号前缀记法的标记语言。对写作者来说,它提供了一种把写作环境、排版和可视化放在一起的新思路,评论里关于页面排版、分离语义和加载性能的讨论也值得借鉴。

    关键词 写作工具排版设计标记语言可读性

    可以直接用的写作要点

    1. 01

      把文字、代码和图形放在同一个页面里写,减少在多个工具之间切换造成的思路中断。

    2. 02

      排版上不要浪费空间:用多栏布局、不要多余的顶栏和侧栏,让内容本身占据视野。

    3. 03

      标记语言和编程语言即使语法相同,也要保持各自的语义清晰分离,这样结构才不容易失控。

    4. 04

      写作页面要能在没有脚本、没有复杂依赖的情况下也读得到内容,别让呈现方式变成阅读的门槛。

    HN 评论精选

    赞赏紧凑、无干扰的多栏排版和就地编辑,同时提醒性能开销与无脚本降级的问题。

    这个项目很漂亮,但示例页面很吃 CPU(Firefox 下单核占用约 33%),因为同一页里跑着汉诺塔、希尔伯特曲线动画和一个时钟。我很喜欢它的呈现方式:没有浪费空间、多栏排布、没有多余顶栏和恼人的侧栏;浮动可缩放的文本框能直接唤起代码编辑器,很自然。建议再加一个功能:当指针靠近边缘时视口自动滚动,让页面跟着注意力走,而不用手动去拖滚动条。缺点是需要客户端 JavaScript 才能渲染,能不能做个服务端渲染的降级方案?

    iam-TJ查看英文原文

    Is there a public code repository and issue tracker where fans and users can discuss and contribute? Very neat, and impressive. The one downside I noticed for the exemplar page is the browser CPU load. constant 33% of 1 CPU on an AMD Ryzen 7 1800X with Firefox v103.0.2, and around 32% with Chromium v104.0.5112.79. I guess that's fair though since the 'page' is playing Towers of Hanoi AND animating the Hilbert curve AND a linear watch (clock)! I enjoy the presentation itself too - no wasted space, nice multi column, no space-wasting top-bar, no annoying sidebars. Being able to invoke the code editor with the floating resizeable text-area feels so natural. The one thing that would be good seeing as the page is a viewport onto a larger canvas is auto-scrolling the viewport when the pointer approaches the margins - so we don't have to chase, make visible, and manually grab the browser scroll bars. That would make the page naturally follow where our attention currently is. Certainly brings a whole new meaning to "Single Page Application". Not even going to attempt to view it on a small device though! The only downside is requiring client-side Javascript to render - I wonder if there's a way to have a fallback to render server-side in that case? I've been procrastinating over choice of some kind of simple wiki-like static site generator for recording many real-time stream-of-consciousness disparate unrelated bug investigations,fixes and code hacking across a wide range of open-source software. This has a quirkiness to it that I like and it feels like a nice fit for someone with a coding ethos (even if not usually into functional!). It may even conquer my preference for Markdown! Time to explore!

    内容、样式、逻辑即使能共用语法,也应分开以保持语义清晰。

    这是个很美也很有意思的项目。我的看法是:即使命令式编程语言和声明式标记语言用同一套表示(比如都用括号前缀记法),把两者清楚地分开、各自保留一套干净的语义仍然是有益的。同理,HTML、CSS、JS 的三分法其实是一种优点,它比把所有语言混在一起设计得更清晰(尽管这三种语言各自都有缺陷)。

    fouric查看英文原文

    This is a very beautiful and interesting project, and contains some themes that I've been thinking about myself recently (representations of code vs. data, interactive development environments, text markup, wikis). I'm curious as to your take on the following opinion: Even if your representation for an imperative programming language and declarative markup language are the same (I quite like using a parenthesized prefix notation for both), it's beneficial to cleanly separate those two languages in order to preserve a clean and distinct set of semantics for both. (you can also extend this to a "presentation language" - what I'm getting at is that you can take the view that the tripartite separation of HTML, CSS, and JS in web technologies is actually a feature because it leads to a cleaner design than trying to mix all of those languages together (although I think that all of those particular languages have their own sets of flaws)) λ way is a very interesting project and I'm curious to see where it will go!

    同类还值得读

    1. 被低估的工程技能:把文章写好

      Undervalued Engineering Skills: Writing Well

      这篇文章讨论为什么“写得好”是被低估的工程能力,以及它如何在团队协作、系统设计和职业发展中持续带来回报。

      写作方法2019 · 1,109 分 · 371 评4 条写作要点编辑精选
    2. 每行只写一句话:让写作和修改都更轻松的排版法

      Writing one sentence per line

      这是 Derek Sivers 的一篇短文,主张写作时每行只放一个句子,而不是按段落排版。

      写作方法2022 · 849 分 · 297 评4 条写作要点编辑精选
    3. 书面沟通是远程工作的超级能力

      Written communication is remote work super power

      这篇文章讨论远程工作中书面沟通的价值,评论区则补充了异步与同步沟通的适用场景,并提醒读者:备忘录、结论先行、结构化命令格式等书面沟通传统早已有之。

      写作方法2020 · 831 分 · 190 评4 条写作要点编辑精选
    4. 如何写出有用的文字

      How to Write Usefully

      保罗·格雷厄姆在这篇文章里给"有用的写作"下了一个可操作的公式:有用≈重要×新颖×正确×清楚,任一项为零,整篇文章就等于零;他还主张敢下确定判断、删掉让自己心虚的句子。

      写作方法2020 · 821 分 · 285 评4 条写作要点编辑精选
    5. 如何写得更清楚、想得更清楚,并学会复杂材料(PDF)

      How to write more clearly, think more clearly, and learn complex material [pdf]

      这份 PDF 讨论如何把文章写清楚、把思路理清楚,并用写作来学习复杂材料。

      写作方法2022 · 779 分 · 153 评4 条写作要点编辑精选

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。