writing · bn / en

Posts

Notes on algorithms, systems programming, and distributed-system design — mostly learning in public.

2026-05-22 · Systems

How Git Actually Works Under the Hood

Git's internal model — how blob, tree, and commit objects, refs, and the HEAD pointer work. Not just theory: building a .git folder by hand with plumbing commands.

GitSystemsVersion Control
2026-05-21 · System Design

System Design: Build a Real-time Collaborative Editor like Google Docs — Part 1

Part 1 — Requirements, high-level architecture, OT vs CRDT (concurrent edit resolution), operation log + snapshot storage, WebSocket + Pub/Sub real-time sync.

System DesignDistributed SystemsCRDTOT
2026-05-22 · System Design

System Design: Build a Real-time Collaborative Editor like Google Docs — Part 2

Part 2 — Offline editing (local-first + reconciliation), Zanzibar permissions, fault tolerance, scaling, geo-distribution, trade-offs.

System DesignDistributed SystemsOfflineZanzibar
2026-04-03 · Systems

Learning in Public: Building the 'ls' Command in C — Part 1

Learning systems programming by doing — implementing Linux's ls command in C, understanding opendir and the DIR structure, and inspecting the internals with GDB.

Learning In PublicCSystems ProgrammingGDB
2026-04-03 · Systems

Learning in Public: Building the 'ls' Command in C — Part 2

Reading a directory with readdir(), understanding the dirent struct, cleaning up with closedir() — finishing our own ls command.

Learning In PublicCSystems ProgrammingGDB
2026-04-15 · Systems

Learning in Public: Building the 'ls' Command in C — Part 3

Why hidden files hide, the accidental Unix bug that turned into a feature, and implementing the -a flag with argc/argv.

Learning In PublicCSystems Programming