Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Conflict Resolution for Eventual Consistency • Martin Kleppmann • GOTO 2016

    GOTO Conferences

    3 HN recommenders · recommended in 8 months, 2017–2020

    YouTube

    51:36 · 46K views · Dec 21, 2016

    Martin Kleppmann's GOTO Berlin 2016 talk on how collaborative editors, offline apps, and multi-datacenter databases handle concurrent updates. It covers conflict resolution approaches including operational transformation and CRDTs, with a worked look at text CRDTs.

    Treated as the go-to approachable yet deep primer on CRDTs and collaborative editing, recommended repeatedly in threads on Automerge, local-first software and OT versus CRDT.

    Systems, Networks & SecurityDistributed systemsDatabases & storage
    1. 1:16:07
      React Helsinki February 2020Fraktio42K views • 6 years ago
    2. 43:39
      CRDTs and the Quest for Distributed ConsistencyInfoQ68K views • 8 years ago
    3. 1:10:10
      CRDTs: The Hard PartsMartin Kleppmann90K views • 6 years ago
    4. 54:44
      Differential SynchronizationGoogle TechTalks52K views • 17 years ago
    5. 14:36
      Distributed Systems 1.1: IntroductionMartin Kleppmann383K views • 6 years ago
    6. 29:46
      The past, present, and future of local-first - Martin Kleppmann (Local-First Conf)Local-First Conf17K views • 2 years ago
    7. 20:45
      dotJS 2019 - James Long - CRDTs for Mortalsdotconferences18K views • 6 years ago
    8. 54:52
      Introduction to NoSQL • Martin Fowler • GOTO 2012GOTO Conferences1M views • 13 years ago
    9. 51:27
      Google I/O 2012 - Go Concurrency PatternsGoogle for Developers894K views • 14 years ago
    10. 1:06:45
      Let's #TalkConcurrency Panel Discussion with Sir Tony Hoare, Joe Armstrong, and Carl HewittErlang Solutions13K views • 7 years ago
    11. 42:03
      The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019GOTO Conferences384K views • 7 years ago
    12. 34:52
      Liberating Distributed Consensus - Heidi HowardReactive Summit6.9K views • 7 years ago
    13. 41:08
      "Transactions: myths, surprises and opportunities" by Martin KleppmannStrange Loop Conference84K views • 11 years ago
    14. 1:19:35
      Lecture 1: IntroductionMIT 6.824: Distributed Systems924K views • 6 years ago
    15. 28:15
      Martin Kleppmann | Kafka Summit SF 2018 Keynote (Is Kafka a Database?)Confluent, an IBM Company57K views • 8 years ago
    16. 1:16:14
      Spec-ulation Keynote - Rich HickeyClojureTV136K views • 9 years ago
    17. 47:43
      "Turning the database inside out with Apache Samza" by Martin KleppmannStrange Loop Conference206K views • 12 years ago
    18. 1:10:23
      "Systems that run forever self-heal and scale" by Joe Armstrong (2013)Strange Loop Conference86K views • 5 years ago
    19. 1:06:34
      Paxos lecture (Raft user study)Diego Ongaro114K views • 13 years ago
    20. 35:15
      Solid Ground // Saša JurićEMPEX Conference14K views • 9 years ago

    13 comments from Hacker News

    1. @lewisl9029May 2019· in “Why CRDT didn't work out as well for collaborative editing xi-editor”

      > Indeed, the literature of CRDT does specify a mathematically correct answer. But this does not always line up with what humans would find the most faithful rendering of intent. This is a very salient point that anyone thinking of using CRDTs to "solve" synchronization in an user-facing application needs to take into consideration. Yes, CRDTs will guarantee that clients converge to an identical, mathematically "consistent" state eventually, but there's no guarantee whether or not that mathematically "consistent" state would make any sense to the application business logic that needs to consume that state, or to the human that needs to reason about the rendered result. That is a completely different can of worms that we'll still have to tackle to build a usable application. Here's great example to illustrate this from Martin Kleppmann's talk on this topic: this video Rest of the talk is also highly recommended for anyone interested in an approachable primer on CRDTs. The trade-offs to CRDTs mentioned by the author in the context of text-editors make sense, but I would be curious to hear from the Xray team on what their current thinking on the topic is, given that they have collaborative editing as an explicit core objective (which might shift the value prop in favor of using CRDTs relatively speaking since in Xi it seems to be only an aspirational goal), and that their approach to implementation was similar but not quite identical to Xi's: > Our use of a CRDT is similar to the X

      Strongly recommendsView on HN
    2. @marknadalSep 2017· in “Distributed algorithms in NoSQL databases”

      Is this website related to the popular [LINK] ? Holy cow, this is an intense article, with great definitions for a bunch of detailed variations of distribute system jargon, and even has some nice images to explain the ideas! My specialty is in eventually consistent data types, which there section is much smaller on, but they have some links to follow up on CRDT stuff. > are often limited in functionality and impose performance overheads This is for the most part true, with CRDTs. However we just formalized and proposed in a new paper, with some Stanford colleagues, how to construct a generalizable CRDT. One that actually lets other more case-specific CRDTs be built on top of it, which we use at gunDB, so that way you can get the advantages of the more optimized CRDTs but still have the rest of your data glued together. Another set of really interesting CRDTs which they didn't mention, are the ones used for making decentralized versions of Google Doc: - Martin's Kleppmann has an exceptionally great/interesting talk on this: this video - And we recently did a "layman" animated explainer of a similar algorithm, that explains it for the non-academically minded, with simple analogies to "distributed systems" that happen in every day life: [LINK] I'll definitely be referencing the OP's article in the future though. Even though I'm in this world, I constantly get the vernacular mixed up. And this will be a really great dictionary to use.

      Strongly recommendsView on HN
    3. @marknadalFeb 2018· in “Automerge: JSON-like data structure for building collaborative apps”

      I've spent almost a decade working on CRDTs, largely from an industry perspective but also some academic side. They're great, and not too hard to understand if you take time to think about them. Here are some animated/interactive cartoon explainers we've made to help teach the concepts: - How a CRDT version of Operational Transformation (Google Docs) works: [LINK] - Why CRDTs are better than centralized alternatives like PAXOS/RAFT: [LINK] Martin Kleppmann's work (author of Automerge) is outstanding, especially check out: this video

      Strongly recommendsView on HN
    4. @lachenmayerMar 2019· in “Applied Monotonicity: A Brief History of CRDTs in Riak”

      CRDTs are quite actively discussed in the IPFS community, in particular here: [LINK] (lots of great resources if you're interested in CRDTs) Also check out automerge, a CRDT that aims to be as JSON-like as possible: [LINK] Martin Kleppmann (one of the creators of Automerge) has given several great in-depth talks about it, eg. this video

      Strongly recommendsView on HN
    5. @marknadalMar 2019· in “Applied Monotonicity: A Brief History of CRDTs in Riak”

      CRDTs are great, and I've seen a lot of quality in Christopher's work. A few other resources for those interested in CRDT subject: - Our cartoon explainer [LINK] - An excellent talk by Martin Kleppmann this video - Marc Shapiro's in depth talk [LINK]

      Strongly recommendsView on HN