Martin Kleppmann
Martin Kleppmann
  • 39
  • 1 476 530

วีดีโอ

Discussion session on Peritext, a CRDT for rich text
มุมมอง 4K2 ปีที่แล้ว
A discussion session for my Patreon supporters, about the paper "Peritext: A CRDT for Collaborative Rich Text Editing" with Geoffrey Litt, Sarah Lim, and Peter van Hardenberg. Paper: www.inkandswitch.com/peritext/static/cscw-publication.pdf You can join future discussion sessions by supporting me on Patreon: www.patreon.com/martinkl
Automerge: a new foundation for collaboration software
มุมมอง 18K2 ปีที่แล้ว
Local-first software is an effort to make collaboration software less dependent on cloud services, and Automerge is an open-source library for realising local-first software. In this talk I explain our motivation for creating Automerge, and map out 7 years worth of research projects that are feeding into this project. Recording of a talk given at the University of Cambridge SRG Seminars on 25 N...
Distributed Systems 6.2: Raft
มุมมอง 33K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Thinking in Events: From Databases to Distributed Collaboration Software (ACM DEBS 2021)
มุมมอง 31K3 ปีที่แล้ว
Keynote by Martin Kleppmann at the 15th ACM International Conference on Distributed and Event-based Systems (ACM DEBS 2021) Paper: dl.acm.org/doi/10.1145/3465480.3467835 Alternative paper link: martin.kleppmann.com/papers/debs21-keynote.pdf Slides: speakerdeck.com/ept/thinking-in-events-from-databases-to-distributed-collaboration-software If you found this useful, please consider becoming a sup...
Maple Leaf Rag (played by beginner)
มุมมอง 6K3 ปีที่แล้ว
My lockdown project for the last year has been to learn the piano. Thanks to my partner for teaching me. Here is my attempt at Scott Joplin's Maple Leaf Rag, with plenty of wrong notes - that's how you know it's played by human, not by computer.
Distributed Systems 8.1: Collaboration software
มุมมอง 22K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 8.2: Google's Spanner
มุมมอง 33K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 7.3: Eventual consistency
มุมมอง 27K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 7.2: Linearizability
มุมมอง 37K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 7.1: Two-phase commit
มุมมอง 64K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 6.2: Raft
มุมมอง 14K3 ปีที่แล้ว
NOTE: There are some mistakes in this video. Please watch this one instead, in which the bugs are fixed: th-cam.com/video/uXEYuDwm7e4/w-d-xo.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2021/ConcDisSys/dist-sys-notes.pdf Full ...
Distributed Systems 6.1: Consensus
มุมมอง 38K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 5.3: State machine replication
มุมมอง 29K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 5.2: Quorums
มุมมอง 38K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 5.1: Replication
มุมมอง 45K3 ปีที่แล้ว
Distributed Systems 5.1: Replication
Distributed Systems 4.3: Broadcast algorithms
มุมมอง 42K3 ปีที่แล้ว
Distributed Systems 4.3: Broadcast algorithms
Distributed Systems 4.2: Broadcast ordering
มุมมอง 50K3 ปีที่แล้ว
Distributed Systems 4.2: Broadcast ordering
Distributed Systems 4.1: Logical time
มุมมอง 80K3 ปีที่แล้ว
Distributed Systems 4.1: Logical time
Distributed Systems 3.3: Causality and happens-before
มุมมอง 41K3 ปีที่แล้ว
Distributed Systems 3.3: Causality and happens-before
Distributed Systems 3.2: Clock synchronisation
มุมมอง 44K3 ปีที่แล้ว
Distributed Systems 3.2: Clock synchronisation
Distributed Systems 3.1: Physical time
มุมมอง 39K3 ปีที่แล้ว
Distributed Systems 3.1: Physical time
Distributed Systems 2.4: Fault tolerance
มุมมอง 39K3 ปีที่แล้ว
Distributed Systems 2.4: Fault tolerance
Distributed Systems 2.3: System models
มุมมอง 50K3 ปีที่แล้ว
Distributed Systems 2.3: System models
Distributed Systems 2.2: The Byzantine generals problem
มุมมอง 64K3 ปีที่แล้ว
Distributed Systems 2.2: The Byzantine generals problem
Distributed Systems 2.1: The two generals problem
มุมมอง 54K3 ปีที่แล้ว
Distributed Systems 2.1: The two generals problem
Distributed Systems 1.3: RPC (Remote Procedure Call)
มุมมอง 102K3 ปีที่แล้ว
Distributed Systems 1.3: RPC (Remote Procedure Call)
Distributed Systems 1.2: Computer networking
มุมมอง 66K3 ปีที่แล้ว
Distributed Systems 1.2: Computer networking
Distributed Systems 1.1: Introduction
มุมมอง 248K3 ปีที่แล้ว
Distributed Systems 1.1: Introduction
CRDTs: The Hard Parts
มุมมอง 67K4 ปีที่แล้ว
CRDTs: The Hard Parts

ความคิดเห็น

  • @BodhiAli-t8c
    @BodhiAli-t8c 8 วันที่ผ่านมา

    Thank you sir, a grateful new subscriber.

  • @AP-eh6gr
    @AP-eh6gr 17 วันที่ผ่านมา

    videos are clearer than the book 😅

  • @tysonliu2833
    @tysonliu2833 23 วันที่ผ่านมา

    I have an ultimate question that puzzles me for a long time since I first went thru these courses: If we can simply use vector clock or even lamport clock (that provides TOB)+ read repair to achieve linearizability in a leaderless replication, why do we bother having complicated algorithms such as Raft or Paxos to only achieve linearizability in a single leader replication?

  • @oz5219
    @oz5219 25 วันที่ผ่านมา

    I don't know what I'm missing but AppendLog seems to be a bit problematic since a replica will deliver a log to its application that potentially can changed the storage state? Imagine if there's n replica and leader is sending message to them, and after 1st and 2nd replica successfully append log, suddenly all other n-2 replica plus the leader die, then the message that was delivered to application in the 1st and 2nd node would be invalid right?

  • @dehghanym
    @dehghanym หลายเดือนก่อน

    Amazing!!

  • @chessmaster856
    @chessmaster856 หลายเดือนก่อน

    What other viewpoint is there other than clients viewm does anything work or we just keep talking and finally say I never said it would work.

  • @JohnCDSMB
    @JohnCDSMB หลายเดือนก่อน

    After watching many videos, I finally found the explanation of an understandable protocol given in a very understandable way. Thank you very, very, very much

  • @chessmaster856
    @chessmaster856 หลายเดือนก่อน

    Sounds like useless talk with no solution. There needs to be verification flow assuming failures and error correction built in. Just interseted in talking with no solution.Finally did the transaction commit or not? Looks like it goes on forever. Reinventing consistency Like a new wheel? My consistency is different from yours?😊 Is anybody using 2 phase commit? Nobody uses it?it feels like if the transaction is held so long as video, it is not feasible.

  • @kzvonov
    @kzvonov หลายเดือนก่อน

    It is a gem 💎

  • @ithsigma
    @ithsigma หลายเดือนก่อน

    i wondering about version vector, too. !!

  • @bga_developer
    @bga_developer 2 หลายเดือนก่อน

    Pretty much all this concepts are just confused on what to name an request standard. Let's call it RPC, no REST no gRPC, how does AJAX sound... It good that I now know the difference tho.

  • @XtremrulesO
    @XtremrulesO 2 หลายเดือนก่อน

    This video is so clear and informative. It answered most of the questions I had.

  • @wakandavernon1412
    @wakandavernon1412 2 หลายเดือนก่อน

    can we use this algorithm in wireless sensor networks?

  • @henrikflamm4843
    @henrikflamm4843 2 หลายเดือนก่อน

    What an excellent video - thank you!

  • @Gojolevrai2
    @Gojolevrai2 2 หลายเดือนก่อน

    For me the best course for DS. Thanks Martin

  • @_sudipidus_
    @_sudipidus_ 2 หลายเดือนก่อน

    11:10 wow that's the ultimate definition of concurrency right there

  • @slowmotion2300
    @slowmotion2300 2 หลายเดือนก่อน

    Thank you for this amazing free series, you are the best.

  • @ramjikijai
    @ramjikijai 2 หลายเดือนก่อน

    Big fan of his thought process. I wish I could do phd under him.

  • @kk-pi4hj
    @kk-pi4hj 2 หลายเดือนก่อน

    I am little confused on your statement on "logical timstamps/lamport timestamps provides total order". if they provide total order why even bother about vector clocks? you clearly say that lamport timestamp cannot distinguish concurrent events so how can you call that a "total order"? Also when I put in "does lamport timestamp gives partial order or total order ?" in chatGPT it clearly says "partial order". What am I missing?

  • @swagatamchatterjee1949
    @swagatamchatterjee1949 2 หลายเดือนก่อน

    I have one doubt. In one of the slide , you mentioned ..in other parts of the computer science Synchronous and Asynchronous are used in other aspects or differently. Can someone please help me to understand that ? and great video series and thanks a lot Martin!

  • @humanvegetable
    @humanvegetable 2 หลายเดือนก่อน

    The moon is not actually made of cheese!

  • @jayleejw1801
    @jayleejw1801 2 หลายเดือนก่อน

    Immediately liked and shared. Golden content for computer science folks

  • @humanvegetable
    @humanvegetable 2 หลายเดือนก่อน

    Oh no it isn't!

    • @aazimakhtar7884
      @aazimakhtar7884 2 หลายเดือนก่อน

      The moon is made of cheese!

  • @nadaralpenidze9549
    @nadaralpenidze9549 2 หลายเดือนก่อน

    Hi Martin, thank you for the lecture. One question regarding quorum and linearizability. In your example of non-linearizable quorum, the write was asynchronously replicated, which can technically violate the quorum safety condition, as the write wasn't acknowledgement by a quorum of nodes. What if the quorum is used with synchronous replication, such that the write is not committed before receving such acknowledgement from the quorum. In that case, a read quorum will always find the most recent write. Any thougts?

    • @nadaralpenidze9549
      @nadaralpenidze9549 2 หลายเดือนก่อน

      Answering to myself: I figured out that the operations are happening concurrently, so client 1 is still pending an ack from the quorum.

  • @RaduOleniuc
    @RaduOleniuc 2 หลายเดือนก่อน

    Bizantine as the name come from bizantin (Greek and east europe).

  • @mg-nf1jz
    @mg-nf1jz 2 หลายเดือนก่อน

    this aged well

  • @andreip9378
    @andreip9378 2 หลายเดือนก่อน

    Wow, I didn't know Martin has a YT channel. Instant subscribe.

  • @RamilyaYusupova-y5l
    @RamilyaYusupova-y5l 3 หลายเดือนก่อน

    Great theme tune for distributed systems

  • @moreirelsi
    @moreirelsi 3 หลายเดือนก่อน

    Great theme tune for distributed systems

  • @zaixrx
    @zaixrx 3 หลายเดือนก่อน

    Big thanks

  • @ashwint959
    @ashwint959 3 หลายเดือนก่อน

    Excellent lectures but ads are really annoying

  • @zxcv129xx
    @zxcv129xx 3 หลายเดือนก่อน

    Thank you

  • @33galactus
    @33galactus 3 หลายเดือนก่อน

    You're not only a great author but also an amazing teacher. Thanks Martin.

  • @joaofurukawa
    @joaofurukawa 3 หลายเดือนก่อน

    u are the GOAT of DS!

  • @MitaliNeerPatel
    @MitaliNeerPatel 4 หลายเดือนก่อน

    Where Can I find first half of the course ?

  • @jmbrjmbr2397
    @jmbrjmbr2397 4 หลายเดือนก่อน

    Woow what a gem I found! Living in this day and age is amazing and gorgeous, thank you so much for uploading!

  • @Samindika1997
    @Samindika1997 4 หลายเดือนก่อน

    Thank you very much.

  • @utsavdahiya3729
    @utsavdahiya3729 4 หลายเดือนก่อน

    6:25 th-cam.com/video/_2By2ane2I4/w-d-xo.html

  • @donaldcarnegie3018
    @donaldcarnegie3018 4 หลายเดือนก่อน

    Glock. Genuinely meant block

  • @donaldcarnegie3018
    @donaldcarnegie3018 4 หลายเดือนก่อน

    Did you glock😢

  • @donaldcarnegie3018
    @donaldcarnegie3018 4 หลายเดือนก่อน

    I am sl confused rn

  • @donaldcarnegie3018
    @donaldcarnegie3018 4 หลายเดือนก่อน

    Something

  • @donaldcarnegie3018
    @donaldcarnegie3018 4 หลายเดือนก่อน

    Haha lol i made a funny

  • @donaldcarnegie3018
    @donaldcarnegie3018 4 หลายเดือนก่อน

    Honestly this is a really bad analogy to describe this problem.

  • @FarhadJabiyev
    @FarhadJabiyev 4 หลายเดือนก่อน

    I don't understand why at 09:41 you mentioned idempotencenl only for best-effort algo? All other algorithms have reliable network system model which can only be achieved with retry pattern. And if retry isnin place, then idempotence also should be, no?

  • @hamdenichamseddine8217
    @hamdenichamseddine8217 4 หลายเดือนก่อน

    Thank you so much for the perfect explanation

  • @alexeiionov9812
    @alexeiionov9812 4 หลายเดือนก่อน

    so interesting! thank you so much for posting this series : )

  • @indrajeetv8878
    @indrajeetv8878 4 หลายเดือนก่อน

    Sir, where is part one?

  • @bermick
    @bermick 4 หลายเดือนก่อน

    brilliant! thanks a lot for the content Martin!

  • @suparnaprasad8187
    @suparnaprasad8187 4 หลายเดือนก่อน

    Awesome video!