Blog
Updates, releases and explorations by the Vulcan team.
How CR-SQLite Transactions Work Tomorrow
June 14, 2023Future improvements for transactional guarantees
Read more →How CR-SQLite Transactions Work Today
June 6, 2023An overview of the design decisions for the current implementation of cr-sqlite and their impact on transaction guarantees
Read more →The March to Reactivity
June 5, 2023The request-response pattern isn't optimal for the types of applications we'd like to build today. If you want your application to update as soon as information is available, it is much easier for that information to be pushed to you incrementally than for you to have to go request it.
Read more →A Framework for Convergence
June 1st, 2023What if I told you anyone can create a new CRDT? That you can do this without any special knowledge of distributed systems?
Read more →A Gentle Introduction to CRDTs
April 1, 2023Conflict Free Replicated Data types (CRDTs) can be tricky. You may spend months reading papers and implementing different algorithms before they finally click and become simple. That or they'll seem simple out of the gate and you'll be missing a bunch of nuance.
Read more →LWW vs DAG
February 17, 2023Event sourcing is a fairly common design pattern for deriving application state from a history of events. But is it possible to turn an event log into a CRDT? To allow nodes to append events to the log, without coordinating with other nodes? Can we merge all these copies of the log, proces them, and arrive at the same application state across all nodes?
Read more →Fractional Indexing
January 26, 2023To enable user provided ordering of rows, most people reach for a fractional index. They're great given they let you change the position of one row without modifying any other rows. Fractional indices have a number of gotchas, however.
Read more →Recursive Ordering in Sqlite
December 20, 2022Sorting by recursive relationships efficiently in SQL
Read more →A Million Rows in React with Differential Dataflow
October 19th, 2023Incremental Computation
Read more →Differential Dataflow For Mere Mortals
October 16th, 2023Demistifying Differential Dataflow
Read more →