Viewing profile — mweidner
mweidner
HN member- Joined
- Mon, Oct 16, 2023, 6:28 PM UTC
- HN karma
- 103
- Public activity
- 43 items
- HN profile
- View on Hacker News ↗
About mweidner
https://bsky.app/profile/mweidner.bsky.social https://twitter.com/MatthewWeidner3
Recent public activity
-
comment
Comment #48407052
Indeed, I do not buy this argument. Would China's progress be close to where it is today without the US labs' examples? Would any of this be happening if OpenAI had not created Cha…
-
comment
Comment #48404628
The folks I met who were talking about AI Safety in 2018 were certainly sincere, and the two people I knew who later joined Anthropic seem like the type to do it for the greater go…
-
comment
Comment #48404067
Is the idea to keep the world in balance via MAD? I could see that, though it's a dangerous gamble. From Richard Rhode's "The Making of the Atomic Bomb", I got the impression that …
-
comment
Comment #48403957
I fail to see how pursuing recursive self-improvement at full speed is compatible with Anthropic's stated goal of AI Safety. If nukes were not invented yet, would it really be a go…
-
comment
Comment #48229091
For values that don't have a natural merge function (or where you don't want to bother writing one), would it make sense to sync update logs instead? That is: - The synced value is…
-
comment
Comment #48184472
A CRDT that operates on code units should work out okay, because each grapheme cluster will always be inserted and deleted in a single edit - hence it should stick together in the …
-
comment
Comment #47482776
I'm surprised to see the emphasis on tracking lines of text, which ties in to the complexity of merge vs merge-the-other-way vs rebase. If we are committed to enhancing the change …
-
comment
Comment #47482608
You can think of the semantics (i.e., specification) of any CRDT as a function that inputs the operation history DAG and outputs the resulting user-facing state. However, algorithm…
-
comment
Comment #47482481
While this is technically correct, folks discussing CRDTs in the context of text editing are typically thinking of a fairly specific family of algorithms, in which each character (…
-
comment
Comment #47405338
Your part 1 post was one of the inspirations for that :) Specifically, it inspired the question: how can one let programmers customize the way edits are processed, to avoid e.g. th…
-
comment
Comment #47399661
The rebasing step is indeed a transformation. Some info in the "rebasing" link here [1]. Unlike traditional Operational Transformation, though, there are no "transformation propert…
-
comment
Comment #47399426
The PowerSync folks and I worked on a different approach to ProseMirror collaboration here: https://www.powersync.com/blog/collaborative-text-editing-ov... It is neither CRDT nor O…
-
comment
Comment #47398481
This was my impression as well. If you ignore the paper and just look at the source code - and carefully study Seph Gentle's Yjs-like RGA implementation [1] - I believe you find th…
-
comment
Comment #46920205
Managing "a flat-ish collection of nodes" that can be moved around (without merely deleting and re-inserting nodes) is tricky because of how paragraphs can be split and merged. Not…
-
comment
Comment #45341411
> More specifically, if you can edit different parts of a same document on different devices, then the document should be split across multiple files that can be synced independent…
-
comment
Comment #44958086
Indeed, Replicache works this way, using server reconciliation (one part of client-side prediction): https://doc.replicache.dev/concepts/how-it-works
-
comment
Comment #44069065
This sounds similar to the idea behind articulated (though with ids UUID-counter instead of time-counter): https://github.com/mweidner037/articulated I will check out Antirez.
-
comment
Comment #44057600
A decentralized, eventually consistent total order on operations is a fully general CRDT, in the sense that you can put whatever (deterministic) operations you want in the total or…
-
comment
Comment #44057497
As the author, same. My best guess is: - Central-server collaborative editing work focuses on Operational Transformation (OT), likely due to inertia (studied since 1989) and the pe…
-
comment
Comment #44056088
Even in the absence of a central server, you can still avoid CRDT/OT complexity if you have a decentralized way to eventually total order operations & apply them in that order: htt…
-
comment
Comment #44055419
Indeed, this is close to what Yjs (popular CRDT library) does: each client instance (~ browser tab) chooses a random 32-bit clientId, and character IDs combine this clientId with l…
-
comment
Comment #44055341
I believe that Automerge internally stores all operations in an eventually consistent total order, which you can use as a substitute for the server in server reconciliation (cf. ht…
-
comment
Comment #43437255
Indeed, the simple approach of "send your operations to the server and it will apply them in the order it receives them" gives you good-enough conflict resolution in many cases. It…
-
comment
Comment #42347227
You could avoid the CRDT rules if you only use the LLM on the server. I.e., user comes online and sends their diff to the server, which LLM-merges it into the latest state and then…
-
comment
Comment #42345683
One challenge is that the algorithms typically used for collaborative text editing (CRDTs and OT) have strict algebraic requirements for what the edit operations do & how they inte…