Presentation: Real-Time, Fine-Grained Version Control With CRDTs
Share this on:
Abstract
Last year, GitHub released Teletype, a package that adds support for real-time collaborative editing to the Atom text editor. Historically, similar systems such as Google Docs have based their implementations on Operational Transformation, which has been an area of active CS research for nearly 30 years. For Teletype, we tried a different approach, building on a newer theoretical framework called Conflict-Free Replicated Data Types, or CRDTs. Introduced in 2011, CRDTs offer a simple and general framework for synchronizing distributed replicas of non-trivial data structures, and they proved a great fit for collaborative editing. Having validated CRDTs in a production setting with Teletype, we're now exploring how we can take them further with an experimental system called Eon. Eon will enable what can best be described as "real-time version control". In this talk, I'll cover the foundations of CRDTs, then explore how we're using them in Eon to synchronize and persist changes to a repository at the granularity of individual keystrokes.
Tracks
-
Microservices: Patterns & Practices
Evolving, observing, persisting, and building modern microservices
-
Developer Experience: Level up Your Engineering Effectiveness
Improving the end to end developer experience - design, dev, test, deploy, operate/understand. Tools, techniques, and trends.
-
Modern Java Reloaded
Modern, Modular, fast, and effective Java. Pushing the boundaries of JDK 9 and beyond.
-
Modern User Interfaces: Screens and Beyond
Zero UI, voice, mobile: Interfaces pushing the boundary of what we consider to be the interface
-
Practical Machine Learning
Applied machine learning lessons for SWEs, including tech around TensorFlow, TPUs, Keras, Caffe, & more
-
Ethics in Computing
Inclusive technology, Ethics and politics of technology. Considering bias. Societal relationship with tech. Also the privacy problems we have today (e.g., GDPR, right to be forgotten)
-
Architectures You've Always Wondered About
Next-gen architectures from the most admired companies in software, such as Netflix, Google, Facebook, Twitter, Goldman Sachs
-
Modern CS in the Real World
Thoughts pushing software forward, including consensus, CRDT's, formal methods, & probalistic programming
-
Container and Orchestration Platforms in Action
Runtime containers, libraries, and services that power microservices
-
Finding the Serverless Sweetspot
Stories about the pains and gains from migrating to Serverless.
-
Chaos, Complexity, and Resilience
Lessons building resilient systems and the war stories that drove their adoption
-
Real World Security
Practical lessons building, maintaining, and deploying secure systems
-
Blockchain Enabled
Exploring Smart contracts, oracles, sidechains, and what can/cannot be done with blockchain today.
-
21st Century Languages
Lessons learned from languages like Rust, Go-lang, Swift, Kotlin, and more.
-
Empowered Teams
Safely running inclusive teams that are autonomous and self-correcting
