Guides
Two things NoobProMax has opinions about: how collaborative editing works underneath, and how to actually use a shared editor with another person without it being awkward.
How it works
The engineering behind real-time collaboration — how concurrent edits merge, how presence travels, and how a browser can encrypt data its own server cannot read.
How CRDTs make real-time collaboration possible
Two people type on the same line at the same moment and neither edit is lost. Here is the data structure that makes that work, explained without the algebra.
8 minOperational transformation vs CRDTs
Two ways to let many people edit one document. One needs a central server and a lot of careful case analysis; the other needs neither. What each actually costs.
9 minHow end-to-end encryption works in a browser app
A web app can encrypt data so its own server cannot read it. What the URL fragment has to do with it, what the Web Crypto API provides, and what this design genuinely cannot protect you from.
9 minLive cursors: how presence works in collaborative apps
The coloured cursors drifting around a shared document are a separate system from the document itself, with completely different rules. Why presence is ephemeral, and why that matters.
7 minWhy undo isn't enough: version history for shared documents
Ctrl+Z has a well-defined meaning for one person and an ambiguous one for four. How snapshots, undo scoping and restore work when a document has several authors at once.
8 minHow syntax highlighting actually works
Colouring code correctly means parsing it, and parsing it on every keystroke means parsing it incrementally. From regex-era highlighters to the incremental parsers editors use now.
8 min
Working together
Using a shared editor well: interviews, pairing, teaching, review, and choosing the right way to get code in front of someone else.
How to run a remote technical interview
Most remote coding interviews measure how well a candidate performs under surveillance. A practical guide to running one that measures engineering ability instead.
10 minCoding interview questions that actually tell you something
What separates a question that predicts job performance from one that predicts interview practice. Four question shapes that work, and three that reliably do not.
9 minRemote pair programming: a practical guide
Driver-navigator, ping-pong and strong-style pairing, what each is good for, and how to run them over a video call without either person going quiet for twenty minutes.
10 minTeaching programming online: running a live coding class
Why a screen share loses a class within ten minutes, how to structure a session so students type instead of watch, and how to see who is stuck without asking.
9 minHow to share code with someone: six options compared
Chat, gists, pastebins, screen shares, repository branches and collaborative editors. What each one is actually for, and the specific situation where each is the wrong choice.
9 minReal-time code review: reviewing together instead of in comments
Asynchronous pull request review is the default and should stay the default. But a few kinds of change are far cheaper to review with both people present. How to tell which, and how to run it.
9 minThe keyboard shortcuts actually worth learning
There are hundreds of editor shortcuts and about a dozen that change how fast you work. Multiple cursors, structural selection, line manipulation and the command palette.
8 min