Skip to content

Commit

Permalink
Paper/talk updates
Browse files Browse the repository at this point in the history
  • Loading branch information
ept committed Nov 2, 2017
1 parent eba6f95 commit b58957c
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 11 deletions.
4 changes: 4 additions & 0 deletions src/_includes/paper_summary.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
{% if include.paper.doi %}
<a href="http://dx.doi.org/{{ include.paper.doi }}">doi:{{ include.paper.doi }}</a>
{% endif %}

{% if include.paper.award %}
&mdash; <strong>{{ include.paper.award }}! :-)</strong>
{% endif %}
</li>
4 changes: 4 additions & 0 deletions src/_layouts/paper.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ <h1>{{ page.title }}</h1>
{{ page.date | date: '%B %Y' }}.
</p>

{% if page.award %}
<p>This paper received a <strong>{{ page.award }}</strong>.</p>
{% endif %}

<ul>
{% if page.paper_url %}
<li><a href="{{ page.paper_url }}">Paper (open access)</a></li>
Expand Down
32 changes: 32 additions & 0 deletions src/_posts/2017-10-23-polyglot-vancouver.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
layout: talk
title: Conflict resolution for eventual consistency
venue: Polyglot Vancouver
place: Vancouver, BC, Canada
venue_url: https://www.meetup.com/PolyglotVancouver/events/242994063/
slides_url: https://speakerdeck.com/ept/conflict-resolution-for-eventual-consistency
---

What do collaborative editors like Google Docs, the calendar app on your phone,
and multi-datacenter database clusters have in common?

Answer: They all need to cope with network interruptions, and still work
offline. They all allow state to be updated concurrently in several different
places, and asynchronously propagate changes to other nodes. If data is
concurrently changed on different nodes, you get conflicts that need to be
resolved.

There are different approaches to handling those conflicts: some systems let the
user manually resolve them; some systems choose one version as the winner and
throw away the other versions; and some systems try to merge concurrent updates
automatically. For example, Google Docs uses an algorithm called Operational
Transform (OT) to perform this merge. I am working on a library called
[Automerge](https://github.com/automerge/automerge), which uses Conflict-Free
Replicated Datatypes (CRDTs) to achieve a similar thing.

In this talk we will explore these algorithms for automatic merging. They start
out quite simple, but as we shall see, they soon become fascinatingly
mind-bending once you start trying to do more ambitious things. For example, if
you wanted to write your own spreadsheet app or graphics software that allows
several users to edit the same document concurrently, how would you go about
doing that?
2 changes: 2 additions & 0 deletions src/_posts/2017-10-25-verifying-crdt-isabelle.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ layout: paper
title: Verifying Strong Eventual Consistency in Distributed Systems
authors: Victor B. F. Gomes, Martin Kleppmann, Dominic P. Mulligan, and Alastair R. Beresford
venue: Proceedings of the ACM on Programming Languages (PACMPL), Vol. 1, OOPSLA, Article 109
award: Distinguished Paper Award and Distinguished Artifact Award
place: Vancouver, BC, Canada
doi: 10.1145/3133933
paper_url: /papers/crdt-isabelle-oopsla17.pdf
slides_url: https://speakerdeck.com/ept/verifying-strong-eventual-consistency-in-distributed-systems
---

* [arXiv: 1707.01747](https://arxiv.org/abs/1707.01747)
Expand Down
21 changes: 10 additions & 11 deletions src/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,16 @@

<h1>Hello!</h1>

<p>I'm Martin Kleppmann, software engineer, entrepreneur, author and speaker.
I co-founded <a href="http://rapportive.com/">Rapportive</a>
(<a href="http://blog.rapportive.com/rapportive-acquired-by-linkedin">acquired</a>
by <a href="http://www.linkedin.com/">LinkedIn</a> in 2012) and Go Test It (acquired by
<a href="http://www.red-gate.com/">Red Gate Software</a> in 2009).
At the moment I'm
<a href="/2014/09/15/writing-a-book.html">writing a book</a> for
<a href="http://www.oreilly.com/">O'Reilly</a>, called
<a href="http://dataintensive.net/">Designing Data-Intensive Applications</a>,
while also working as a researcher at the
<a href="http://www.cl.cam.ac.uk/">University of Cambridge Computer Laboratory</a>.</p>
<p>I'm Martin Kleppmann &mdash; researcher, software engineer, entrepreneur, author and speaker.
I am a researcher in distributed systems at the
<a href="http://www.cst.cam.ac.uk/">University of Cambridge Department of Computer Science and Technology</a>.
In 2017 I published a book for <a href="http://www.oreilly.com/">O'Reilly</a>, called
<a href="http://dataintensive.net/">Designing Data-Intensive Applications</a>.
In my past startup life I co-founded
<a href="https://www.crunchbase.com/organization/rapportive">Rapportive</a>
(acquired by <a href="http://www.linkedin.com/">LinkedIn</a> in 2012) and
<a href="https://www.crunchbase.com/organization/go-test-it">Go Test It</a>
(acquired by <a href="http://www.red-gate.com/">Red Gate Software</a> in 2009).</p>

<p>I care about making stuff that people want, great people, a culture of respect and empathy,
clarity of thinking, marvellous user experiences, maintainable code and scalable architectures.</p>
Expand Down

0 comments on commit b58957c

Please sign in to comment.