HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

dotJS 2019 - James Long - CRDTs for Mortals

dotconferences3 HN recommenders · recommended in 4 months, 2020-2023
YouTube
18K views · 6 years ago · talk · evergreen

James Long's dotJS 2019 talk on how CRDTs enable local-first apps and how simple they can be to implement. He shows how to use them to build robust offline-capable frontends.

Recommended as an approachable introduction to CRDTs and the local-first idea behind apps like Actual.

Web developmentDistributed systemsAlgorithms & data structures#crdt#local-first#sync#javascript#offlineapps

5 comments from Hacker News

@satvikpendem2023 · in “Actual is going open-source”

Based on the author's talk [0], looks like it's grow-only sets. I haven't looked at the code though so it might have changed since he gave that talk in 2019. [0] ▶ this video

CitesView on HN
@satvikpendem2023 · in “Actual is going open-source”

Worth noting that the author, James Long, is the same one who made a great talk on using CRDTs called CRDTs for Mortals [0], and he uses them in Actual as well. He was a great source of inspiration when I was looking into using them for my offline-first, local-first apps [1]. [0] ▶ this video [1] link

Strongly recommendsView on HN
@azteceagle2021 · in “Downsides of Offline First”

We are in the same need right now. Something that we have researched and think it has a lot of potential, at least for us is James Long sync implementation. You can check out his talks and demos at: * link * ▶ this video And his demo implementation (and annotated fork): * link * htps://github.com/clintharris/crdt-example-app_annotated/blob/master/NOTES.md I wonder why there isn't some open source engine based on this at least for CRUD apps since it has a lot of potential and it is really "simple" to implement and even understand.

RecommendsView on HN
@raihansaputra2020 · in “Ask HN: What are some concrete examples of good SPA's?”

Yeah. The trick to managing the offline states is to have it as cache. So updating and solely relying on the server, and only serve when offline. On the interactivity side, I feel that a lot of tools that I use daily justifies the use of SPA/PWA. Definitely can be passable with HTML SSR, but there's not much examples of it yet. Todoist: No hassle offline handling. It will sync on it's own. Twitter: They do intercept everything and handle/queue requests when the client is offline. It's not perfect though. Roam: Again. Offline syncing, mainly offline search/document creation. This is a bit unique though as I think the server basically is just a sync logic. I feel that the SPA stage is definitely a growing phase instead of a destination to be. There's a lot of problems that are not solved elegantly yet, and it's and the boundaries. But I feel that SPA and all of it's learnings will be an example of how the next step will be like. And with .wasm coming, there's a lot of possibility of different architectures/how to build apps. Some talks that refers to why/how SPA makes sense for some problems/usecases: Offline first PWA/Web App, with CRDT for syncing: ▶ this video (James Long's CRDT For Mortals talk) State management framework oriented for offline/PWA use: link

RecommendsView on HN
@raihansaputra2020 · in “One word in PostgreSQL unlocked a 9x performance improvement”

The author has a conference talk talking about CRDT and the timestamp technique he uses. Really useful if anyone else wonders what's the problem with wall clock timestamps. dotJS 2019 - James Long - CRDTs for Mortals (20:44): ▶ this video EDIT: btw, out of all the comments on the timestamp here, seems like only yours is not complaining about the format, and even points out that the article did not go in depth yet to specify the actual timestamp that he uses.

RecommendsView on HN
CRDTs and the Quest for Distributed Consistency43:39

CRDTs and the Quest for Distributed Consistency

InfoQ
68K views • 8 years ago
CRDTs: The Hard Parts1:10:10

CRDTs: The Hard Parts

Martin Kleppmann
90K views • 6 years ago
Conflict Resolution for Eventual Consistency • Martin Kleppmann • GOTO 201651:36

Conflict Resolution for Eventual Consistency • Martin Kleppmann • GOTO 2016

GOTO Conferences
46K views • 9 years ago
Introduction to Node.js with Ryan Dahl1:06:34

Introduction to Node.js with Ryan Dahl

InfoQ
758K views • 15 years ago
React Helsinki February 20201:16:07

React Helsinki February 2020

Fraktio
42K views • 6 years ago
dotJS 2012 - Brian Leroux - WTFJS18:27

dotJS 2012 - Brian Leroux - WTFJS

dotconferences
209K views • 13 years ago
Keynote - JSON Graph: Reactive REST at Netflix54:58

Keynote - JSON Graph: Reactive REST at Netflix

Association for Computing Machinery (ACM)
41K views • 11 years ago
The past, present, and future of local-first - Martin Kleppmann (Local-First Conf)29:46

The past, present, and future of local-first - Martin Kleppmann (Local-First Conf)

Local-First Conf
17K views • 2 years ago
Scaling the Linear Sync Engine1:06:08

Scaling the Linear Sync Engine

Linear
37K views • 3 years ago
Differential Synchronization54:44

Differential Synchronization

Google TechTalks
52K views • 17 years ago
Invited Talk - Guy Steele1:07:22

Invited Talk - Guy Steele

ClojureTV
39K views • 9 years ago
ClojureScript for Skeptics - Derek Slager41:09

ClojureScript for Skeptics - Derek Slager

ClojureTV
72K views • 10 years ago
Netflix JavaScript Talks - Async JavaScript with Reactive Extensions28:39

Netflix JavaScript Talks - Async JavaScript with Reactive Extensions

Matt Marenghi
69K views • 12 years ago
ElixirConf 2018 - Keynote - Chris McCord57:50

ElixirConf 2018 - Keynote - Chris McCord

ElixirConf
32K views • 8 years ago
Ryan Dahl: Node JS48:32

Ryan Dahl: Node JS

JSConf
35K views • 14 years ago
Erlang Factory SF 2016 Keynote  Phoenix and Elm – Making the Web Functional55:28

Erlang Factory SF 2016 Keynote Phoenix and Elm – Making the Web Functional

Erlang Solutions
23K views • 10 years ago
dotScale 2015 - John Graham-Cumming - I got 10 trillion problems, but logging ain't one25:18

dotScale 2015 - John Graham-Cumming - I got 10 trillion problems, but logging ain't one

dotconferences
7K views • 11 years ago
Chris McCord - Keynote: Phoenix LiveView - Interactive Apps without Javascript - ElixirConf EU 20191:12:41

Chris McCord - Keynote: Phoenix LiveView - Interactive Apps without Javascript - ElixirConf EU 2019

Code Sync
47K views • 7 years ago
Nicholas Zakas: Scalable JavaScript Application Architecture52:23

Nicholas Zakas: Scalable JavaScript Application Architecture

YUI Library
68K views • 15 years ago
Keynote: The Road To LiveView 1.0 by Chris McCord | ElixirConf EU 20231:05:33

Keynote: The Road To LiveView 1.0 by Chris McCord | ElixirConf EU 2023

Code Sync
27K views • 3 years ago