Profile picture

Written by  Zixuan Chen

  1. June 14, 2022  · 17 min read

    This article introduces the algorithm to draw non-layered trees in linear time and re-layout partially when some nodes change in O(d) time, where d is the maximum depth of the changed node.

  2. December 21, 2021  · 8 min read

    A brief introduction to what Conflict-free Replicated Data Type (CRDT) is, its origin & current status.

  3. September 04, 2022  · 44 min read

    读了一篇 Wait But Why 2015 年的长文, 讨论的是马斯克的秘方:他为什么做这些事,为什么能够做到这些事。以马斯克为切入点,文章主要讨论了人们的思考方式,其深度让人醍醐灌顶,在此摘录一下

  4. May 20, 2021  · 20 min read

    如何通过 Comlink 无痛使用 Web Workers & Comlink 是如何实现的

  5. May 01, 2021  · 8 min read

    Haskell 的惰性数组是什么,如何使用惰性数组 & 如何在 JS 中模拟类似功能的惰性数组

  6. December 23, 2021  · 18 min read

    临时的 CRDT 设计方案容易出错,是否有指导性原则来辅助 CRDT 算法的设计?如何从零开始设计一个 CRDT?本文解读了 2011 年 Marc Shapiro, Conflict-free replicated data types,该论文正式定义了 CRDT,并给出了简单明确的 CRDT 设计方法。

  7. December 21, 2021  · 12 min read

    CRDT 入门第一篇。简单介绍 Conflict-free Replicated Data Type (CRDT) 是什么,起源 & 现状

  8. August 22, 2021  · 4 min read

    在 js 中我们一般通过 throw, try..catch 来处理 error, 但是这种方式无法保证类型安全,即一个 function 无法告诉使用者它可能出现的必须要被处理的问题。通过借鉴 Haskell & Rust 的语法,我们可以有更优雅的处理方式