concurrency   29229

« earlier    

Automerge: Making servers optional for real-time collaboration — Martin Kleppmann’s talks
Automerge is part of an effort to get the best of both worlds. It is a JavaScript library for building real-time collaborative applications. However, apps built with Automerge also work offline, storing data locally, and synchronise their data with collaborators whenever a network is available. And although you can use it with servers, you don’t have to: synchronisation also works peer-to-peer, or via any network you choose.

In this talk we will explore how Automerge deals with different users independently modifying shared data in a collaborative application (hint: by merging the changes… automatically!), how it achieves consistency in highly distributed settings, and where it is heading in the future.
javascript  concurrency  messaging 
yesterday by janpeuker
Consistency without Clocks: The FaunaDB Distributed Transaction Protocol - Fauna
Pre-Processing in FaunaDB
FaunaDB’s protocol, which was inspired by Calvin, decides on this serial order prior to performing any writes to the database. For each batch of parallel transactions, they are inserted into a distributed, write-ahead transaction log and the FaunaDB execution engine ensures that the final result of processing this batch of transactions is equivalent to as if they were processed one-by-one in the order they appeared in this pre-generated log.
database  concurrency 
2 days ago by janpeuker
Structured Concurrency for C
c  concurrency  programming 
2 days ago by quad
Go: Avoid duplicate requests with sync/singleflight
Clone with Git or checkout with SVN using the repository's web address.
golang  caching  concurrency 
3 days ago by sandipb
Inspired by Actual Events: Deferred Execution with Java's Consumer
Deferred Execution with Java's Consumer - Added July 09, 2018 at 11:43AM
concurrency  java  read2of 
3 days ago by xenocid

« earlier    

related tags

actor-model  actors  ada  algorithm  algorithms  architecture  article  aspnet  async  atomics  await  background  bestpractices  blog  book  bsd  c  caching  callback  cap  channels  circuit-breakers  cloud-haskell  cloud  cluster  computer-science  computerscience  computing  condition  coroutine  cpu  csp  dahl  database  ddd  dispatch  dispatchgroup  dispatchqueues  distributed  documentation  done  engineering  erlang  event-driven  faunadb  formal-methods  framework  functional-programming  functional  functionalprogramming  gcd  github  go-lang  go  golang  goroutine  goroutines  group  hacker-news-comments  hardware  haskell  heroku  history  http  important  intro  io  iosdev  java  javascript  jdbc  jvm  kotlin  lang:go  linux  lisp  lockless  martinsustrik  messaging  metaprogramming  microservices  multiprocessing  multithreading  nathanieljsmith  network  networking  nodejs  opensource  operation  ops  parallel  parallelism  patterns  performance  pool  proglang  programming-environment  programming  programming_language  programming_languages  programminglanguages  promise  promises  python  queue  queues  race  rails  raywenderlich  read2of  reference  research  revolut  ruby  rust  ryan  ryandahl  scalability  scheduler  scheduling  scheme  server  software  sql  structured  swift  swift4  syndicate  syntax  talk  talks  testing  thread  threading  threads  tip  tips  tla+  tony.garnock.jones  tutorial  type:library  unit-testing  vid  video  videos  webdev  xcode  youtube 

Copy this bookmark: