Blogpost Annealing

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

Annealing is a borrowed term from 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 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.


For example, you can take my post on Preemptive Pluralization and peek at the difference between the initial publish and the latest (this is easy because Netlify uses Immutable deploys). 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) 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
  • 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


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 and My New Mac Setup and 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, but often it just goes completely unannounced. (RSS subscribers can theoretically receive updates, 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.)

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).


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:

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. 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) and make responsible disclosures (like this) 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.

Tagged in: #reflections #writing #learninpublic

Leave a reaction if you liked this post! 🧡
Loading comments...

Subscribe to the newsletter

Join >10,000 subscribers getting occasional updates on new posts and projects!

I also write an AI newsletter and a DevRel/DevTools newsletter.

Latest Posts

Search and see all content