{"id":230469,"date":"2023-11-03T16:35:11","date_gmt":"2023-11-03T08:35:11","guid":{"rendered":"https:\/\/magicalbits.net\/?p=230469"},"modified":"2023-11-03T16:35:11","modified_gmt":"2023-11-03T08:35:11","slug":"an-interactive-intro-to-crdts-jakelazaroff-com","status":"publish","type":"post","link":"https:\/\/magicalbits.net\/?p=230469","title":{"rendered":"An Interactive Intro to CRDTs | jakelazaroff.com"},"content":{"rendered":"<blockquote><p>In this series, we\u2019ll learn what a CRDT is. Then we\u2019ll write a primitive CRDT, compose it into more complex data structures, and finally use what we\u2019ve learned to build a collaborative pixel art editor. All of this assumes no prior knowledge about CRDTs, and only a rudimentary knowledge of TypeScript.<\/p><\/blockquote>\n<p>Source: <em><a href=\"https:\/\/jakelazaroff.com\/words\/an-interactive-intro-to-crdts\/\">An Interactive Intro to CRDTs | jakelazaroff.com<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this series, we\u2019ll learn what a CRDT is. Then we\u2019ll write a primitive CRDT, compose it into more complex data structures, and finally use what we\u2019ve learned to build a collaborative pixel art editor. All of this assumes no prior knowledge about CRDTs, and only a rudimentary knowledge of TypeScript. Source: An Interactive Intro [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ep_exclude_from_search":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-230469","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/230469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=230469"}],"version-history":[{"count":1,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/230469\/revisions"}],"predecessor-version":[{"id":230470,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/230469\/revisions\/230470"}],"wp:attachment":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=230469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=230469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=230469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}