How WeChat Makes Us Classify One Another (and When “Friends” Become Contacts)

Most serious questions about platforms begin with something small enough to look trivial. In this case, it was a line: the nearly blank page that appears when I open someone’s WeChat Moments and find no visible posts.

At first, I treated this as a narrow question about blocking. Why does discovering that another person has hidden their Moments from me sometimes feel hurtful? Why do some users respond by immediately hiding their own Moments in return? Is this merely an…
Continue reading

Deletion Is a Claim, Not a Command: Can “Deleted” Ever Be a Promise?

After finishing a long investigation into Git deletion, I thought the difficult part was over. The repository had been the experiment; the broader lesson seemed to be that deletion has several observable states. Then a more uncomfortable question appeared. If a system says that something is deleted, what exactly is it claiming, who defines the scope of that claim, and who gets to decide when the process is truly finished?

I documented the original technical investigation in Deleting in Git…
Continue reading

Deleting in Git and Rethinking (Philosophically) Deletion as a System Design Question

Yesterday I removed a file that no longer belonged in one of my Git repositories. It had already been committed and pushed several times, so rather than simply deleting the current copy, I decided to clean up the corresponding history as well.

What looked like a straightforward maintenance task became more complicated once I started verifying the result. The file disappeared from the current branch, then from reachable history, but some of the old commit IDs could still be resolved…
Continue reading