Top all-time · #241
Dan Abramov
Personal blog · overreacted.ioprogrammingweb
Dan Abramov's personal blog at overreacted.io covers programming and web. Since 2018, 192 different Hacker News readers have linked it 360 times, most often “Algebraic Effects for the Rest of Us”. It is still writing: the last post was on 2026-09-18, and you can follow it by feed.
Sometimes recommended · 9 of 40 sampled comments recommend it?
Why HN links it
HN readers link Dan Abramov's posts for explanations of React internals and hooks, especially useEffect, setInterval and render behaviour, plus essays on clean code and open social protocols.
- Recommended for · 9 comments
- Commenters call the posts a great piece, worth reading, or nails it; one calls them the thing that made hooks click; one recommends the clean-code article again
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
A blog by Dan Abramov
Most-linked posts?
- Algebraic Effects for the Rest of Us31 people · 35 mentions · first linked 2019-07-21
- Making SetInterval Declarative with React Hooks15 people · 16 mentions · first linked 2019-02-04
- A guide to useEffect in React14 people · 20 mentions · first linked 2019-03-11
- Things I Don’t Know as of 201813 people · 13 mentions · first linked 2018-12-28
- Goodbye, Clean Code12 people · 12 mentions · first linked 2020-01-11
- Npm Audit: broken by design?11 people · 13 mentions · first linked 2021-07-07
- React as a UI Runtime9 people · 13 mentions · first linked 2019-02-03
- A Social Filesystem by Dan Abramov8 people · 11 mentions · first linked 2026-01-18
- Open Social7 people · 13 mentions · first linked 2025-09-26
- Why Do React Hooks Rely on Call Order?7 people · 9 mentions · first linked 2018-12-13
What Hacker News says?
https://overreacted.io/im-doing-a-little-consulting/
Comment linking /im-doing-a-little-consulting/
on “Open Social”Submitted Goodbye, Clean Code as a story · 1678 points
HN discussionWhat you're describing exists: Its called AT-Protocol and runs Bluesky. See more: https://overreacted.io/open-social/
Comment linking /open-social/
on “Nitter and XCancel resume service after legal advice”Submitted Open Social as a story · 991 points
HN discussionHe wrote a post on that too. https://overreacted.io/the-elements-of-ui-engineering/
Comment linking /the-elements-of-ui-engineering/
on “Things I Don’t Know as of 2018”Submitted Npm Audit: broken by design? as a story · 872 points
HN discussionHow about the other perspective? The current modus operandi for tech companies is to offer something for free or below market price, gain a userbase, lock them in and destroy competitors who don't have cash to burn, then alter the deal. If I start using a company's offerings, I have certain expectations, such as the terms and conditions suddenly not changing from under me. Now, you can argue that they are required b…
Comment linking /open-social/
on “Europeans' health data sold to US firm run by ex-Israeli spies”Submitted Things I Don’t Know as of 2018 as a story · 753 points
HN discussionYou're misinformed. However, you speak with enough conviction that it seems pointless to try to convince you of something else. If you're curious about what it actually is, and the actual historical road towards it, you're welcome to read my blog — for example, https://overreacted.io/jsx-over-the-wire/ is a longread on that topic.
Comment linking /jsx-over-the-wire/
on “React is winning by default and slowing innovation”Submitted Progressive JSON as a story · 575 points
HN discussionIf after nearly a decade swarms of people are still making the exact same mistakes with how they use a specific method exposed by the library, then the problem isn't with the hundreds/thousands of people making the mistake, the design of the method is broken. This type of issue simply does not exist in Vue or Svelte even if people abuse watchers (which I've anecdotally noticed tends to happen from React devs writing…
Comment linking /a-complete-guide-to-useeffect/
on “React is winning by default and slowing innovation”Submitted The Elements of UI Engineering as a story · 468 points
HN discussionhttps://overreacted.io - Dan Abramov's blog
Comment linking /
on “Ask HN: What are good solo developer blogs that you enjoy reading?”Submitted Where it's at:// as a story · 416 points
HN discussionOne article advocating against unnecessary abstractions that I really appreciate and highly recommend is Dan Abramov's: https://overreacted.io/goodbye-clean-code/
Comment linking /goodbye-clean-code/
on “DRY is an over-rated programming principle?”Submitted The Math Is Haunted as a story · 409 points
HN discussionSort of! I have two (admittedly long) articles on this topic, comparing how the code tends to evolve with separate endpoints and what the downsides are: - https://overreacted.io/one-roundtrip-per-navigation/ - https://overreacted.io/jsx-over-the-wire/ The tldr is that endpoints are not very fluid — they kind of become a "public" API contract between two sides. As they proliferate and your code gets more modular, it'…
Comment linking /jsx-over-the-wire/
on “Progressive JSON”Submitted Name It, and They Will Come as a story · 357 points
HN discussionRSC, which is described at the end of this post, is essentially a BFF (with the API logic componentized). Here’s my long post on this topic: https://overreacted.io/jsx-over-the-wire/ (see BFF midway in the first section).
Comment linking /jsx-over-the-wire/
on “Progressive JSON”Submitted How Does React Tell a Class from a Function? as a story · 348 points
HN discussionRight — that’s why the emphasis on intentionally designed loading states in this section: https://overreacted.io/progressive-json/#streaming-data-vs-s... Quoting the article: > You don’t actually want the page to jump arbitrarily as the data streams in. For example, maybe you never want to show the page without the post’s content. This is why React doesn’t display “holes” for pending Promises. Instead, it displays t…
Comment linking /progressive-json/
on “Progressive JSON”Submitted React as a UI Runtime as a story · 343 points
HN discussionSee also the use of $$typeof https://overreacted.io/why-do-react-elements-have-typeof-pro...
Comment linking /why-do-react-elements-have-typeof-property
on “Cracking My Windshield and Earning $10k on the Tesla Bug Bounty Program”Submitted I vibed a proof of Conway's conjecture as a story · 271 points
HN discussionThe older and more confident I got the less I felt a need to 'know everything.' I'm not perfect, but these days when it comes to anything whether it be technical or cultural (e.g. bands or movies) I strive to not be afraid to say "I don't know what that is" and be excited to learn about it. There's so much out there. I actually picked this up from reading Hacker School's user manual, "no feigning surprise"[1] and of…
Comment linking /things-i-dont-know-as-of-2018/
on “People with Greater Intellectual Humility Have Superior General Knowledge”Submitted JSX over the Wire as a story · 267 points
HN discussionI strongly recommend everyone to read A Complete Guide to use Effect[0] blog post by Dan Abramov. He 3 years ago addressed this exact problem and how useEffect solves it. [0] https://overreacted.io/a-complete-guide-to-useeffect/
Comment linking /a-complete-guide-to-useeffect/
on “Solid.js feels like what I always wanted React to be”Submitted Goodbye, Clean Code (2020) as a story · 266 points
HN discussionFor anyone who wants a thorough understanding of how to think about React hooks in the context of things like setInterval, Dan Abramov wrote a great piece breaking it down in detail several years ago: https://overreacted.io/making-setinterval-declarative-with-r... This post helped hooks "click" for me, and once it did, I've absolutely loved them and now thoroughly enjoy writing custom hooks that greatly simplify my…
Comment linking /making-setinterval-declarative-with-react-hooks/
on “Solid.js feels like what I always wanted React to be”Submitted Algebraic Effects for the Rest of Us as a story · 239 points
HN discussion