Top all-time · #774
Neil Fraser
Personal blog · neil.fraser.nameprogramminggames
Neil Fraser's personal blog at neil.fraser.name covers programming and games. Since 2008, 83 different Hacker News readers have linked it 162 times, most often “Differential Synchronization (2009)”. It is still writing: the last post was on 2026-10-04, and you can follow it by feed.
Sometimes recommended · 7 of 40 sampled comments recommend it?
Why HN links it
HN readers link Neil Fraser's writing for differential synchronization, a collaborative-editing algorithm commenters cite as simpler than OT. Other posts are cited for neural-net and CS-education stories.
- Recommended for · 7 comments
- One commenter calls the differential sync paper 'incredibly readable'; others call a post 'very interesting', 'inspiring', or 'great'.
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.
Most-linked posts?
- Differential Synchronization (2009)19 people · 19 mentions · first linked 2013-12-30
- CS in VN (2013)8 people · 17 mentions · first linked 2013-08-19
- .name Termination5 people · 5 mentions · first linked 2026-09-03
- Neural Network Follies (2003)4 people · 4 mentions · first linked 2014-08-14
- Computer Science by Mail4 people · 4 mentions · first linked 2015-04-15
- Neil Fraser: Differential Synchronization3 people · 3 mentions · first linked 2009-01-19
- /news/2006/11/01/2 people · 2 mentions · first linked 2009-07-14
- Neural Network Follies2 people · 2 mentions · first linked 2011-02-28
- Programming the Apollo Guidance Computer in Blockly2 people · 2 mentions · first linked 2026-06-04
- Lava Lamp Centrifuge2 people · 2 mentions · first linked 2010-03-09
What Hacker News says?
https://neil.fraser.name/news/2002/02/19/ > Time to move to a new domain, one that will not obsolesce quite so quickly: neil.fraser.name. I guess it wasn't quick, but eventual. :'(
Comment linking /news/2002/02/19/
on “.name Termination”Submitted .name Termination as a story · 2230 points
HN discussionI recall seeing this before, called "crazy" tic tac toe: http://tictactoe-cssi.appspot.com/ via: http://neil.fraser.name/news/2011/07/16/
Comment linking /news/2011/07/16/
on “Ultimate Tic Tac Toe”Submitted Google Engineer bails out student in jail as a story · 540 points
HN discussionNiel Fraser, the guy who created the Blockly block programming toolkit also created a JS Interpreter which allows single stepping of code. https://neil.fraser.name/software/JS-Interpreter/docs.html
Comment linking /software/JS-Interpreter/docs.html
on “A Javascript journey with only six characters”Submitted Ten Years at Google as a story · 239 points
HN discussionhttps://neil.fraser.name/writing/tank/ This is a classic story of a neural net failure. The net was able to find tanks hiding in the trees with amazing accuracy. Too amazing. It turned out the photos of the hidden tanks were all photographed on a cloudy day. The images without tanks in a clear day.
Comment linking /writing/tank/
on “Suddenly, a leopard print sofa appears”Submitted Computer Science in Vietnam as a story · 216 points
HN discussionhttps://www.hiroapp.com - Note-taking reduced to the core that just works™. Offline first, no signup needed, easily sharable (url, sms, email) and (web)realtime sync between all devices and collaborators. My co-founder and I moved on to a new project a year ago, but this thing is still buzzing along on a cheap DO box and works like a charm with basically zero maintenance. Frontend is vanilla JS, backend in Go and th…
Comment linking /writing/sync/
on “Ask HN: What simple tools or products are you most proud of making?”Submitted Computer Science by Mail as a story · 151 points
HN discussionOperational transformations are used by both Google Wave (now Apache Wave) and Google Docs [1]. The basic idea is to avoid latency by making sure all edit operations commute, so patches can be applied out of order to get the same result. This is not so different from source control except that merge conflicts are handled differently. Differential synchronization [2] might be easier to implement, though. [1] http://e…
Comment linking /writing/sync/
on “How I reverse-engineered Google Docs to play back any document's keystrokes”Submitted Travel in the USA Requires ID as a story · 144 points
HN discussionFor anyone interested in this issue I would suggest taking a look a Neil Fraser's Differential Synchronization.[0] It took me 2 weeks as a solo developer to add real time collaborative editing to our product using that method. [0]: https://neil.fraser.name/writing/sync/
Comment linking /writing/sync/
on “Lessons learned from creating a real-time collaborative rich-text editor”Submitted Airship Tails as a story · 122 points
HN discussionHow does this compared to differential synchronization used by google drive? https://neil.fraser.name/writing/sync/
Comment linking /writing/sync/
on “Automerge: JSON-like data structure for building collaborative apps”Submitted Lava Lamp Centrifuge as a story · 70 points
HN discussionYou might like http://neil.fraser.name/software/diff_match_patch/svn/trunk/...
Comment linking /software/diff_match_patch/svn/trunk/demos/demo_patch.html
on “Lorem Ipsum translated by Google”Submitted Flow Charts as a story · 61 points
HN discussionI implemented differential sync ( https://neil.fraser.name/writing/sync/ ) mostly because I couldn’t understand anything else and seemed simplest in my grugnotes.com app -- and while the app is pretty janky and not fully real-time, it does get your example merge right regardless of who comes back online first. In the case the deletion comes online first, the 'colour' version is thrown out and not saved in edit histo…
Comment linking /writing/sync/
on “Lies I was told about collab editing, Part 1: Algorithms for offline editing”Submitted Google Multivac as a story · 57 points
HN discussionAnd what do you do when VeriSign just decides that they don't like hosting your domain anymore? You just lost access to password recovery for every account you have https://neil.fraser.name/news/2026/09/03/
Comment linking /news/2026/09/03/
on “Google Antigravity TOS: 3rd party usage can get Google account suspended”Submitted Differential Synchronization (2009) as a story · 56 points
HN discussionTrue, but beware of the domain name you're using. Because VeriSign may unilaterally decide to delete your domain name along with thousands of others [1] and you're back to square one… [1] https://neil.fraser.name/news/2026/09/03/
Comment linking /news/2026/09/03/
on “Don't couple your Go code to GitHub”Submitted Step-by-step JavaScript interpreter, written in JavaScript as a story · 55 points
HN discussionYou are completely assuming that everyone who wants to program is intending to do so professionally, or that they won't be able to grow from a basic intro of "here is how to present your thoughts programmatically" and then cover the deeper subjects later, as they need to. This is especially relevant as we start teaching programming at younger and younger ages. I hope it's obvious that when kids start programming in…
Comment linking /news/2013/03/16/
on “Retiring Python as a Teaching Language”Submitted String overlap detection in Python as a story · 50 points
HN discussion> ended up learning which days were sunny and which were overcast. The earliest source I can find for this is https://neil.fraser.name/writing/tank/ but it says it "might be apocryphal".
Comment linking /writing/tank/
on “How to trick a neural network into thinking a panda is a vulture”Submitted CS in VN (2013) as a story · 47 points
HN discussionI've worked with Neil, and he is indeed extraordinary. I'd say he's who I want to be when I grow up except it's not clear he's grown up. See, for example, the centrifuge in his living room ( http://neil.fraser.name/hardware/centrifuge/ ).
Comment linking /hardware/centrifuge/
on “Google Blockly - a visual programming language”Submitted Perpetual motion? as a story · 41 points
HN discussion