Top all-time · #540
Tom MacWright
Personal blog · macwright.comprogrammingweb
Tom MacWright's personal blog at macwright.com covers programming and web. Since 2020, 110 different Hacker News readers have linked it 202 times, most often “Lon Lat Lon Lat”. It is still writing: the last post was on 2026-11-01, and you can follow it by feed.
Sometimes recommended · 11 of 40 sampled comments recommend it?
Why HN links it
HN readers link Tom MacWright's blog for software and web writing, from JavaScript, React and GIS coordinates to open source maintenance, and note its fast, minimal site.
- Recommended for · 11 comments
- called a favourite software blog and a great read; a coordinate-systems post a good read; one commenter loves its explanation
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.
The blog, projects, and assorted output of Tom MacWright
Most-linked posts?
- /7 people · 8 mentions · first linked 2021-04-09
- Lon Lat Lon Lat7 people · 7 mentions · first linked 2020-10-30
- (About) Hacker News7 people · 7 mentions · first linked 2023-11-14
- Vendor by Default (2021)5 people · 8 mentions · first linked 2021-03-11
- Work hard and take everything seriously5 people · 5 mentions · first linked 2024-01-29
- Playing with ActivityPub4 people · 4 mentions · first linked 2022-12-09
- Second-guessing the modern web (2020)4 people · 4 mentions · first linked 2020-10-13
- It's better to be naive than jaded4 people · 4 mentions · first linked 2020-12-28
- A clean start for the web (2020)4 people · 4 mentions · first linked 2020-08-22
- Accidental Anonymity3 people · 3 mentions · first linked 2026-06-25
What Hacker News says?
> The point is that there is a difference between having > two APIs that both still work and having one stable API. This is the direct effect of high levels of backwards compatability. You can't change APIs; you have to create new APIs and then deprecate previous APIs. That's the only way of avoiding a breaking change (other than never changing something and endlessly layering leaky abstractions on top of it). > Hav…
Comment linking /2021/03/11/vendor-by-default.html
on “Modern Javascript: Everything you missed over the last 10 years (2020)”Submitted The Return of Fancy Tools as a story · 447 points
HN discussionhttps://macwright.com/ - my favorite blog about software-related topics https://vebaccount.substack.com/ - great stuff on economics through a heterodox lens
Comment linking /
on “Ask HN: Favorite Blogs by Individuals?”Submitted If Not SPAs, What? as a story · 364 points
HN discussion> It's winning because at the core it's just JavaScript function composition. Except it's not. It has a bunch of footguns and implicit behaviours that make no sense unless you're well-versed in the internals of React. See: https://macwright.com/2024/09/19/the-extra-rules-of-hooks https://www.schiener.io/2024-03-03/react-closures And JSX by itself is already a DSL, which drastically changes how it works based on the…
Comment linking /2024/09/19/the-extra-rules-of-hooks
on “React is winning by default and slowing innovation”Submitted Lon Lat Lon Lat as a story · 336 points
HN discussion> The lists page is a brilliant idea and I might steal it from you. You should! Tom MacWright's website[0] was a big influence on the design of my site. I especially took inspiration from how they structure their reading list and how I could apply that to more abstract objects that I wanted to document. [0] - https://macwright.com/
Comment linking /
on “My Friend Aaron”Submitted Rust is a hard way to make a web API as a story · 331 points
HN discussionhttps://echevarria.io Started on it in undergrad to have a place of my own for photos and programming projects. I've slowly expanded it for the past few years. Heavily inspired by Tom MacWright's https://macwright.com
Comment linking /
on “Ask HN: Share your personal site”Submitted Second-guessing the modern web (2020) as a story · 314 points
HN discussionMy favorite is always missing: https://macwright.com/2014/07/09/mplus.html
Comment linking /2014/07/09/mplus.html
on “Dev Fonts”Submitted Sharrows, the bicycle infrastructure that doesn’t work and nobody wants as a story · 301 points
HN discussionI love the explanation in the linked site: > Writing on the internet can be a two-way thing, a learning experience guided by iteration and feedback. I’ve learned some bad habits from Hacker News. I added Caveats sections to articles to make sure that nobody would take my points too broadly. I edited away asides and comments that were fun but would make articles less focused. I came to expect pedantic, judgmental fee…
Comment linking /2022/09/15/hacker-news
on “The GitHub website is slow on Safari”Submitted A clean start for the web (2020) as a story · 290 points
HN discussionThere is some overhead in using SPAs when your application could have been built in the way that the parent comment suggests. Some front-end frameworks are closing this gap but I wouldn't necessary say they're equally a simple. See https://macwright.com/2020/05/10/spa-fatigue.html In other words, choose the right tool for the job.
Comment linking /2020/05/10/spa-fatigue.html
on “In defense of simple architectures”Submitted Epanet-JS as a story · 218 points
HN discussionGood read on this: https://macwright.com/lonlat/
Comment linking /lonlat/
on “I Hate Coordinate Systems”Submitted The new reading stack as a story · 196 points
HN discussionIn terms of legibility, aesthetic balance, and not being over-engineered, I haven’t found anything better than M+ 1: https://macwright.com/2014/07/09/mplus.html
Comment linking /2014/07/09/mplus.html
on “JetBrains Mono – the free and open-source typeface for developers”Submitted Hacking Is the Opposite of Marketing as a story · 158 points
HN discussionYes, React uses semver. React 19 has been in development for over 2+ years - React 18.2 (the last meaningful minor release) came out in June 2022, so the release pace has been slow enough people have complained that it's _too_ slow: - https://macwright.com/2024/01/03/miffed-about-react (looks like the author may have an HN-specific redirect, so you might need to copy-paste that URL)
Comment linking /2024/01/03/miffed-about-react
on “React 19”Submitted Paper Notes as a story · 152 points
HN discussionI appreciate your question and thought it deserved some thought time, in contrast to my initial off-the-cuff comment. I had difficulty putting it into words, but today I was reading another article posted here on HN and it cut to the heart of the problem: https://macwright.com/2021/01/15/rust.html "GraphQL basically lets your frontend application define queries, instead of the backend. You give it a range of things…
Comment linking /2021/01/15/rust.html
on “Show HN: Amplication – Instantly Generate Node.js Apps with GraphQL and REST API”Submitted A Clean Start for the Web as a story · 117 points
HN discussionVery polished project. The founder is now helping build Val town, which seems pretty awesome, too: https://www.val.town/ (Also his blog is a great read: https://macwright.com/ )
Comment linking /
on “Placemark is now open source – web-based geospatial data editor”Submitted Tidbyt hardware display device: a review as a story · 115 points
HN discussion> Once you choose the technology that runs your blog, use it. Don’t replace it, ever. Never ever rewrite it.[1] [1] https://macwright.com/2019/02/06/how-to-blog.html
Comment linking /2019/02/06/how-to-blog.html
on “Next Gen Static Blogging”Submitted Macwright.com redirects HN readers away as a story · 111 points
HN discussion> I would guess worst case QuickJS probably can compile to WASM That's actually exactly what Figma is doing for their plugins. [1] Seems to be working ok, though not without some pain [2]. [1] https://www.figma.com/blog/an-update-on-plugin-security/ [2] https://macwright.com/2024/03/29/figma-plugins
Comment linking /2024/03/29/figma-plugins
on “Wasmer 5.0”Submitted Untrusted chatbot AI between you & the internet is a disaster waiting to happen as a story · 106 points
HN discussion