Top all-time · #2746
Bartosz Sypytkowski
Personal blog · bartoszsypytkowski.comprogrammingsystems
Bartosz Sypytkowski's personal blog at bartoszsypytkowski.com covers programming and systems. Since 2019, 28 different Hacker News readers have linked it 35 times, most often “Is Rust a good fit for business apps?”. It is still writing: the last post was on 2026-09-23, and you can follow it by feed.
Too few sampled comments (10) to say how often HN recommends it.?
Why HN links it
HN readers link this blog for in-depth CRDT explanations, built up from the ground and grounded in mathematics, and for software design posts on F# performance and dependency injection.
Summarised by Claude from a sample of 10 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Software dev blog
Most-linked posts?
- Is Rust a good fit for business apps?4 people · 4 mentions · first linked 2025-03-01
- Deep Dive into Yrs Architecture3 people · 3 mentions · first linked 2021-11-08
- Conflict-Free Replicated Spread Sheets2 people · 2 mentions · first linked 2024-01-23
- Peon – Prefixed Entry Object Notation2 people · 2 mentions · first linked 2025-09-09
- Writing High Performance F# code2 people · 2 mentions · first linked 2025-01-19
What Hacker News says?
I think you could encode a “shelf” last-write-wins CRDT into your HTML using data attributes without exploding your file size. You would need to add a data-version attribute, and if you want to support hand-editing or editing by programs that don’t understand the CRDT, a CRC32 or other parity as data-parity so your loader can tell when a user might have edited a row without updating data-version. Shelf is really sim…
Comment linking /shelf-crdt/amp/
on “Show HN: Bike – macOS Native Outliner”Submitted Writing high performance F# code as a story · 243 points
HN discussionBy the way, I consider https://www.bartoszsypytkowski.com/dealing-with-complex-depe... to be the canonically correct way to do DI when you want to inject more than like two dependencies.
Comment linking /dealing-with-complex-dependency-injection-in-f/
on “Why F#?”Submitted Ramp up your distributed transactions as a story · 44 points
HN discussionI have many recommendations of different kinds: ## Blogs: - http://muratbuffalo.blogspot.com/ - https://bartoszsypytkowski.com/ - https://decentralizedthoughts.github.io/ - https://www.the-paper-trail.org/ - https://blog.acolyer.org/ - https://pathelland.substack.com/ ## Other web resources - https://aws.amazon.com/builders-library/ - set of resources from Amazon about building distributed systems - https://www.yout…
Comment linking /
on “Ask HN: Recommended books and papers on distributed systems?”Submitted Make your cluster SWIM (2020) as a story · 31 points
HN discussionAuthor here. Its because I've been focussing on collaborative text editing first, and a fair few of the articles which pop up on HN were written by me. There's more great CRDT writing which deserves some attention. For example, this series by Bartosz Sypytkowski is long but excellent: https://bartoszsypytkowski.com/the-state-of-a-state-based-cr... He talks about CRDTs from the ground up, from much more of a mathemat…
Comment linking /the-state-of-a-state-based-crdts/
on “I was wrong – CRDTs are the future (2020)”Submitted Is Rust a good fit for business apps? as a story · 28 points
HN discussionAh, I'll put it in as a note in the beginning. You can see a more basic introduction in a previous post I wrote: https://interjectedfuture.com/trade-offs-between-different-c... https://news.ycombinator.com/item?id=38916647 Here's some introductory material I found helpful: - [An interactive intro to CRDTs]( https://jakelazaroff.com/words/an-interactive-intro-to-crdts... ) - [An introduction to state-based CRDTs]( ht…
Comment linking /the-state-of-a-state-based-crdts/
on “CRDTs Turned Inside Out”Submitted Writing High Performance F# code as a story · 15 points
HN discussionhttps://github.com/vlcn-io/cr-sqlite/tree/ca9a67f9050844458e... It's not very clearly stated, but the links show it has "Last Write Wins" semantics for conflicting changes https://bartoszsypytkowski.com/crdt-map/#crdtmapwithlastwrit... https://bartoszsypytkowski.com/operation-based-crdts-registe...
Comment linking /operation-based-crdts-registers-and-sets/
on “Crsql – Multi-writer and CRDT support for SQLite”Submitted Deep Dive into Yrs Architecture as a story · 14 points
HN discussionI really liked reading this article: Writing high performance F# code https://www.bartoszsypytkowski.com/writing-high-performance-... It more or less tells you to unlearn all functional and OOP patterns for code that needs to be fast. Just use regular loops, structs and mutable variables.
Comment linking /writing-high-performance-f-code/
on “Performance Improvements in .NET 10”Submitted CRDT Optimizations as a story · 4 points
HN discussionIs this the same as LSeq [1] except rather than using bytes one is basically using digits in a floating point representation (given this is JS where most things are floats)? [1] https://bartoszsypytkowski.com/operation-based-crdts-arrays-...
Comment linking /operation-based-crdts-arrays-1/
on “Evan Wallace CRDT Algorithms”Submitted Write your own concurrent actor system as a story · 4 points
HN discussionI've described this issue in my blog post together with CRDT variants that address and solve it: https://bartoszsypytkowski.com/operation-based-crdts-arrays-... In practice, many CRDT libraries nowadays (eg. Yjs and Automerge) are using structures that don't come with interleaving issues.
Comment linking /operation-based-crdts-arrays-1/
on “CRDTs make multiplayer text editing part of Zed's DNA”Submitted Conflict-Free Database over Virtual File System as a story · 3 points
HN discussionI have implemented a JSON-like CRDT using this nice tutorial [1], which is a tree, but never an append-only DAG. I'm curious how two edges meeting the same vertex will make it difficult to resolve the conflict automatically? Is it that two users will create the same vertex (concurrently) with slightly different attributes, and attribute-merging requires human-in-the-loop? Of course if the DAG is not append-only, but…
Comment linking /operation-based-crdts-json-document/
on “Clocks and Causality – Ordering Events in Distributed Systems”Submitted Is Rust a good fit for business apps? as a story · 3 points
HN discussionSubmitted Peon – Prefixed Entry Object Notation as a story · 2 points
HN discussionSubmitted Is Rust a good fit for business apps? as a story · 2 points
HN discussionSubmitted Is Rust a good fit for business apps? as a story · 2 points
HN discussionSubmitted Can Yrs fit my table? as a story · 2 points
HN discussionSubmitted Conflict-Free Replicated Spread Sheets as a story · 2 points
HN discussionSubmitted WebAssembly and Replayable Functions as a story · 2 points
HN discussionSubmitted Deep Dive into Yrs Architecture as a story · 2 points
HN discussionSubmitted Operation-based CRDTs: JSON document as a story · 2 points
HN discussionSubmitted Peon – Prefixed Entry Object Notation as a story · 1 points
HN discussionSubmitted CRDTs and Security: Authentication (2023) as a story · 1 points
HN discussion