From 79a432172741ac711d45641333ff8a90a7df3377 Mon Sep 17 00:00:00 2001 From: Charles-Axel Dein <120501+charlax@users.noreply.github.com> Date: Mon, 25 Nov 2024 09:00:07 -0500 Subject: [PATCH] Add article about sync --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.md b/README.md index 77f7ff2..5b7ac8a 100644 --- a/README.md +++ b/README.md @@ -115,6 +115,7 @@ - [Security](#security) - [Shell (command line)](#shell-command-line) - [SQL](#sql) + - [State](#state) - [System administration](#system-administration) - [System architecture](#system-architecture) - [Architecture patterns](#architecture-patterns) @@ -1561,6 +1562,7 @@ A bit more reading: - [Lua: The Little Language That Could](https://matt.blwt.io/post/lua-the-little-language-that-could/) - [The Montréal Effect: Why Programming Languages Need a Style Czar](https://earthly.dev/blog/language-style-czar/) - [TodePond/DreamBerd: a perfect programming language](https://github.com/TodePond/DreamBerd) +- [Programming Languages That Blew My Mind](https://yoric.github.io/post/programming-languages-that-blew-my-mind/) > There are only two kinds of languages: the ones people complain about and the ones nobody uses. @@ -1841,6 +1843,21 @@ List of resources: - [spandanb/learndb-py](https://github.com/spandanb/learndb-py): learn database internals by implementing it from scratch. - [SQL for the Weary](https://gvwilson.github.io/sql-tutorial/) +### State + +- [A Map of Sync](https://stack.convex.dev/a-map-of-sync) categorizes state sync into 9 dimensions. + - Data model: + - Size: How large is the data set that a single client can access? + - Update rate: How often do clients send updates? + - Structure: Is the data rich with structure or flat and unstructured? + - Systems requirements: + - Input latency: How long can updates be delayed while maintaining a good user experience? + - Offline: How many interactions does the app need to support offline? + - Concurrent clients: How many concurrent clients will look at the same data? + - Programming model: + - Centralization: How centralized is the programming model and infrastructure? Flexibility: How flexible are sync policies, especially around conflict resolution? + - Consistency: What types of invariants can the application assert about its data model, and how strong can these invariants be? + ### System administration - 🧰 [kahun/awesome-sysadmin](https://github.com/kahun/awesome-sysadmin): a curated list of amazingly awesome open source sysadmin resources