March 12, 2026

Bitmasks, beef, and brainwaves

Thinnings: Sublist Witnesses and de Bruijn Index Shift Clumping

Thinnings decoded: the keep-or-skip trick splitting devs between genius and just a diff

TLDR: A blog explains “thinnings” as a simple keep/skip bitmask that proves one list appears inside another—easy to verify and usable in plain Python. Commenters split between praising a practical bridge from theory and dismissing it as a delete-only diff with obvious compressions, arguing over novelty vs. utility.

A brainy blog just turned a tongue-twister—“thinnings”—into something you can picture: a yes/no checklist that proves one list appears inside another, like a grocery list hiding in a full receipt. The author even shows it in Python and nods to wild math land (think: dependent types) but insists it works in “profane” languages too. That word alone set the tone: equal parts cheeky and practical.

The crowd reaction? Split right down the bitline. One camp swooned over the clean idea of “witness data”—evidence you can quickly check—arguing it’s a friendly bridge from deep theory to everyday coding. Another camp waved a big “so what?” flag, calling thinnings basically a delete-only diff (like a mini version of what Git does) and immediately brainstorming compressions like run-length encoding. The star comment dropped exactly that take and lit up the thread.

Meanwhile, the composition angle—“you can combine these keep/skip patterns like Lego” instead of just applying them—had the math-curious buzzing about faster checks and clearer data pipelines. And yes, there were jokes: “bitmasks are the new friendship bracelets,” and riffs on “profane Python” vs. “holy Agda.” Love it or roll your eyes, the vibe is clear: turning hard math into a checkbox string is either elegant minimalism or branding for something we already do. Either way, people are talking—and coding.

Key Points

  • Thinnings are introduced as witness data for sublist (subsequence) relationships between lists.
  • They can be represented as boolean lists/bitvectors, visualized as increasing, non-overlapping mappings between positions, and composed as actions.
  • The article connects thinnings to de Bruijn index lifting/lowering, framing them as bulk “clumping” of such operations, analogous to permutations aggregating swaps.
  • Python examples show both a boolean sublist check and a witness-producing variant that returns a bitvector certificate or None.
  • Verifying a provided thinning certificate can be more efficient (O(|xs|)) than finding one (O(|ys|)), and a verification routine is sketched.

Hottest takes

“a restricted version of a diff algorithm where you only delete things?” — skybrian
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.