martinkl

Joined 17 years ago

Karma
3,424
Submissions
113
Member since
Jun 24
Associate Professor at University of Cambridge. Author of Designing Data-Intensive Applications. In a past startup life, co-founder of Rapportive (YC S10), acquired by LinkedIn in 2012
View on Hacker News

Recent submissions

Comment · 1 year ago
Comment · 2 years ago
Oh hi Andrew! It's been ages, hope you're well!
Comment · 2 years ago
Hi there, good to hear from you! :)
Comment · 2 years ago
Thank you! To your point about industrial use, yes – this is interesting. For example, Actyx makes a software system for coordination within a factory floor, and Ditto performs sync between devices of cabin crew on an aircraft. These are nice examples of industrial local-first systems.
Comment · 4 years ago
Comment · 4 years ago
Hi, one of the authors here. You're right that in order to ensure that you won't receive timestamps lower than some threshold, you need to know all the nodes in the system, and you need to hear from all of them (if even just one node is unreachable, that will be enough to hold up the process). That's quite a big assumption to make, but unfortunately there doesn't really seem to be a good way around it. Lots of CRDT algorithms have this problem of requiring causal stability for garbage collection.

Using a consensus protocol is possible, and would have the advantage that it only requires communication with a quorum (typically a majority of nodes), rather than all nodes. However, it has the downside that now a node cannot generate timestamps independently any more — generating a timestamp would then also require a round trip to a quorum, making the algorithm a lot more expensive.

Comment · 4 years ago
Comment · 4 years ago
Martin here. I cited your paper in the related work section. It's a good start, but it does not cover everything that's required to achieve BFT — in particular, the issue that an operation may be valid in some contexts and invalid in others, and all correct nodes need to agree on whether an operation is valid or not.

If you have more details on the caveats you have discovered, it would be great if you could write them up so that others can learn from your experience!

Comment · 5 years ago
Hello, Martin here :) I use the Paper app (https://wetransfer.com/paper) on an iPad, then transfer the images to a computer, do a little post-processing in Gimp and ImageMagick, and then drop the images into PowerPoint. You might be able to present directly from the Paper app, but it's more designed for drawing than for presenting.
Comment · 5 years ago
Comment · 6 years ago
Interesting idea, but the devil is in the details. Especially two concurrent moves of partially overlapping ranges of characters is a tricky case to handle, and it is not obvious to me how your scheme would deal with this.

Another fun case is two concurrent range moves in which the destination of the first move falls within the second move's source range, and the destination of the second move falls within the first move's source range. How do you handle this?

I expect that any algorithm solving this problem will need a formal proof of correctness, because it's very easy to miss edge cases when using informal reasoning.

Comment · 6 years ago
Just for the record, I was already aware of GUN previously, and think it is a good project to include in the list. We had just forgotten about it when putting together this list of links. I guess I don't check HN all that often. ;)
Comment · 9 years ago
I just looked up my own O'Reilly book on ebooks.com. http://www.ebooks.com/95729334/designing-data-intensive-appl... I can't see anything about DRM on the page, but under "supported devices" it says "e-readers with Adobe Digital Editions installed". Isn't that DRM enforcement software? Could you clarify please?

Edit: this page explicitly says that readers need to be compatible with Adobe DRM https://support.ebooks.com/hc/en-gb/articles/214119286-Guide...

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton