Luhmann's actual cards survive. Look at them. They are not walls of text.

A typical card holds one to three sentences. Fragmentary. Generous whitespace. A significant portion of each card is occupied by reference numbers and link symbols. Some cards are nothing but a title and a cluster of cross-references — almost no prose at all.

Density emerges not from individual cards but from the network between them.


Mezzanine (中2階) is an information networking system I run on Bluesky. It repurposes cashtags — dollar sign plus five random alphanumeric characters — as opaque connectors. No meaning. They point but do not signify. The system claims to be a socialized Zettelkasten. One post, one idea. Tags instead of Luhmann's reference numbers. Public by design.

The problem: my posts had become paragraph-dense. I was packing full argumentative structures into a single 300-character post. Reading them on a social feed felt like encountering academic paragraphs in a river of casual content.

I went back to Luhmann's cards to understand where I had gone wrong.


Here is something that may not be obvious to English speakers: Japanese writing is extraordinarily dense per character.

Japanese uses a mixed script of kanji (logographic characters) and kana (syllabic characters). A single kanji compound packs meaning that English requires multiple words to express. "閉館" is two characters. It means "permanent closure of a facility." "国庫補助" is four characters. "Government subsidy from the national treasury" is seven words.

On top of this, the writing style I use — I call it Naruse style — strips away modifiers and stacks declarative statements. Noun phrases. Contrasts. No hedging. It is a style optimized for compression.

These two forces combined mean that a 300-character Japanese post carries roughly 600 to 700 words worth of information in English. Six hundred English words is a full blog post.

The writing style was too efficient. A single post reached the information density of an academic paragraph.


There is a second problem. The problem of publishing.

Mezzanine posts are public on Bluesky. In private notes, dense argumentation is fine. But when you publish a full chain of reasoning — naming a concept, identifying a phenomenon, connecting causes, drawing implications — you hand over not just the idea but the entire analytical structure.

Timestamps establish priority. They do not prevent reconstruction. A well-structured public post makes it easy for others to absorb and reproduce the logic.

The challenge: publish openly while protecting intellectual work.


The solution is what I now call the Luhmann Method — Kernification.

Five principles.

Post only the kernel. Name the concept. Cut out the phenomenon. Pose the question. Do not post the argumentation, the connective tissue, the implications.

150-character baseline. The 300-character limit does not need to be filled. If the kernel lands in 150 characters, that is enough. The remaining density is carried by the tag network.

Plant flags, not maps. A public post says "this idea exists." The logic connecting flag to flag lives only in the author's mind and in the eventual paper.

Protect by subtracting. Statements that reveal the scope of an analytical framework or that could serve as research questions are the first candidates for deletion from public posts.

Support posts stand alone. A support post must not be the logical "next step" from the previous post. Each post should read as an independent kernel. When read in sequence, the analytical trajectory must not be reconstructable.


An example.

Before kernification:

GitHub is unlikely to ever support ATProto. ATProto's core principle is returning data ownership to users. GitHub's business model depends on centralized data lock-in — there is no incentive to build an exit. Tangled's position is on the ATProto ecosystem side. A world where development is completed under Bluesky identity cannot be built through feature additions.

Three kernels in one post. GitHub's structural incompatibility, Tangled's positioning, and the implication about identity-based development. The last sentence reveals the analytical scope.

After kernification:

GitHub is unlikely to ever support ATProto. ATProto's core principle is returning data ownership to users. GitHub's business model depends on centralized data lock-in. No incentive to build an exit.

One kernel. Tangled's positioning moves to a separate post. The implication about identity-based development is deleted. Let the reader trace that path themselves.


Post count goes up. That is fine.

Luhmann's Zettelkasten comprised roughly 90,000 cards. Each one a fragment. Density emerged from the network.

Mezzanine has the same structure. Tags serve as reference numbers. Thin out each post, and the network of tagged posts still generates density as a whole.

Whitespace is not laziness. It is where the reader's thinking happens.


There are exceptions. Lists of facts and figures, specification announcements, short fiction, posts written to explain the system to newcomers — these can use the full 300 characters. Numbers carry low plagiarism risk. Creative work needs completeness. Specifications need precision.

Not everything should be thinned. Kernification applies to analytical posts. Different post types, different rules.


The compression power of Japanese is a weapon. But a weapon mishandled cuts the wielder.

Kanji-kana mixed script density, multiplied by a writing style built for compression. The product: a 300-character post that weighs as much as a full blog post in English. Too heavy for readers. Too exposed for the writer's intellectual property.

Going back to Luhmann's cards provided the answer. Write only the kernel. Do not elaborate. Plant flags. Do not hand over the map.

Density is the network's job.