Blogpost Annealing
Tags: reflections, writing, learninpublic
Published: 2021-03-28 19:07:06

---
title: Blogpost Annealing
published: true
description: Letting my writing improve under the heat of feedback
tags: Reflections, Writing, LearnInPublic
slug: blogpost-annealing
canonical_url: https://www.swyx.io/blogpost-annealing
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6c04prajhklrwwlu1wwz.png
---


Regular readers will notice that my posts often change rapidly soon after publication. This means they get *better over time*, as a result of self editing and feedback from readers. I've come to call this **Blogpost Annealing**.

[![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6c04prajhklrwwlu1wwz.png)](https://excalidraw.com/#json=4569679704096768,NWOVidbYqnVz9erY36Pf3g)

Annealing is a borrowed term from [metallurgy](https://en.wikipedia.org/wiki/Annealing_(metallurgy)) where heating up metal makes it softer and easier to shape to its ideal end state, and also irons out any internal inconsistencies. I obviously don't know anything about metallurgy — I came by it via machine learning, where [simulated annealing](https://en.wikipedia.org/wiki/Simulated_annealing) serves as a powerful metaheuristic for optimization.

But the analogy holds — **if you want to make something better, apply heat to get it out of its normal state, and shape it while it cools**. This makes for a higher quality end result than trying to launch something in its final form from a standing start.

## Example

For example, you can take my post on Preemptive Pluralization and peek at the difference between [the initial publish](https://604bf32dcfdb601163498323--scout-videos-51664.netlify.app/preemptive-pluralization/) and [the latest](https://604bfc8099765a1bd20fce77--scout-videos-51664.netlify.app/preemptive-pluralization/) (this is easy because Netlify uses [Immutable deploys](https://www.netlify.com/blog/2018/10/05/netlify-and-the-functional-immutable-reactive-deploy/)). Some changes that happened in the 48 hours after publishing:

- Added the Twitter and Reddit discussions to the post so future readers can find them
- Added extra concerns from readers I didn't think of, again for future readers
- **Bolded the single most quoted sentence** ([the one about cardinality](https://twitter.com/search?q=cardinality%20of%202%20to%203%20than%20it%20is%20to%20refactor%20from%20a%20cardinality%20of%201%20to%202&src=typed_query)) to give it some visual distinction for skimmers. Before publishing, I had no idea this would resonate that much.
- Added an extra relevant example on Pagination, from an [authoritative source](https://twitter.com/simonw/status/1370542711288209411?s=20)
- Reworded my intro from "ask if you are likely" to "ask if you could *ever* possibly" to strengthen the claim
- In future, I may also return to add a visualization of the idea once I figure out something I like

## Benefits

I find this work extremely rewarding and valuable, because it represents the delta between what I thought of before publication and what I now know after. Some resource posts, like [How to Name Things](https://www.swyx.io/how-to-name-things/) and [My New Mac Setup](https://dev.to/swyx/my-new-mac-setup-4ibi/) and [Eponymous Laws](https://www.swyx.io/eponymous-laws/), get updated *months* after publication*.* 

Where the median blogpost is usually static/immutable after publish, a blog with an annealing policy will usually **improve** in quality *after* publication. **More exposure = More "heat" = More quality.**

Ironically, most of my readership will miss out on these changes, because blogpost publication is usually a singular event (a tweet, or HN, or Reddit posting). Sometimes I will [post diffs](https://twitter.com/swyx/status/1313900029824823301), but often it just goes completely unannounced. (*RSS subscribers can [theoretically receive updates](https://stackoverflow.com/questions/1984381/find-out-if-something-has-changed-in-a-website-using-an-rss-feed), but I'm honestly not sure how well this works in practice. Let me know if there's ways I should improve [my RSS feed](https://swyx.io/rss.xml).)*

There's a small benefit that happens after running an Annealing policy for a while — readers become incentivized to engage on new posts, because they know that if they add value early, their perspectives will be highlighted for others to see. This is a virtuous cycle that you should want to encourage (especially if a reader can disagree ***well***).

## Responsibility

One of the fundamental tensions with Blogpost Annealing comes when you are fundamentally playing a different game than your readers expect. People get *very* mad at me when I publish something wrong, and don't see my subsequent retractions or modifications. 

Note that I take my responsibility as a writer seriously, and articulated my process: 

- After idea validation with my [Three Strikes Rule](https://twitter.com/swyx/status/1351197649727352836)
- I do a lot of research via [Mise en Place Writing](https://www.swyx.io/writing/writing-mise-en-place)
- I put big theses through a [Workshopping](https://www.swyx.io/workshopping) process

It is still not enough for some people, who only care about the end result and silencing opinions they disagree with on behalf of the masses, who are too ignorant to be exposed to bad takes.

**I do not encourage irresponsible Learning in Public** and people who do that give the rest of us a bad name. But I *also* do not wait until I know everything before publishing, because that is impossible, and sometimes I learn the most *after* publishing (Godwin's Law to the rescue!).

If you Learn in Public persistently, you will naturally build an audience over time.  [**With great audience, comes great responsibility**](https://swyx.transistor.fm/episodes/career-jam-session-with-jeff-escalante-of-hashicorp). You are right to fear being wrong, and it should make you take more care. But it must not prevent you from shipping altogether. 

I think the resolution to this conundrum is to establish clear terms of service (FYI, this site/blog/whatever you call it has a [Digital Garden Terms of Service](https://www.swyx.io/digital-garden-tos/)) and make responsible disclosures ([like this](https://twitter.com/swyx/status/1369361340243079171)) on whether something is "just an idea" or "truth from experience". A Garden run according to these terms will naturally result in an Annealing policy.