Every idea, framework, and brainstorm I've put into writing — ordered by when I first thought it. 12351 items total. Click any title for the thesis card; the card links to the full essay if you want it.
Skill acquisition thrives on a counterintuitive blend of immersion, constraint, and repetition rather than formal study alone.
Platforms wield disproportionate influence over modern life, quietly controlling everything from the cultural meaning of an emoji to the architecture of global surveillance.
Narrative control is the deliberate management of how events, identities, and conflicts are perceived by an audience—and across culture, law, and politics, those who master it consistently outperform those who rely on the facts alone.
Knowledge compounds only when it is externalized into a durable, interconnected medium — before writing, before notebooks, before any linked memory system, insight evaporates as quickly as it forms.
Account security in the Google ecosystem hinges largely on a set of quiet, underused notification mechanisms that most users never actively monitor.
Elite performance and a well-lived life both hinge on a counterintuitive shift: treating the process itself as the point rather than a toll bridge to future outcomes.
Tool surfaces rank from least to most composable: in-process library calls (no cross-process, no state survival), MCP/JSON-RPC stdio (slight compounding via named tools in agent memory), Unix sockets (independent lifecycles upgrade
When evaluating capability-extending tools, the long-term value almost never lives in the marketed capability — it lives in the interface surface the tool exposes.
Across 247 vault files (207 Cards/ + 40 Inbox/), every malformed entry collapsed into exactly five recurring bug shapes: missing callout blocks (bare `up::` instead of inside `> [!Ontology]-`), empty ontology fields, broken wikilink
Skills should be lean markdown files describing a single protocol — not the whole brain.
The verification step for any faithful port is non-trivial: run the new implementation against a real input set, diff its output against the existing reference output, and require zero identifier drift.
Before writing a port, extract the upstream algorithm with file paths and line numbers — a 'code archaeology' phase.
Block IDs are deterministic hashes of annotation inputs (item ID, page, text, color), which means the same algorithm in Python produces the same output as in TypeScript — character for character.
When the assistant proposed creating `nathan-taste-profile` as 'the missing piece,' the user replied — verbatim, missing 'be' included — 'my taste should all over gbrain.' The user had already internalized the substrate-level answer; the
Knowledge graphs don't need a dedicated profile or dashboard page to represent a user — the link graph itself is the profile.
A cap fix looked correct on paper: raise the 200-char limit to 800, deploy, verify. Still broken.
Most of the time, acting on the surface description is correct. The signal to reframe is recurrence: when the same fix gets suggested for the third time, stop and ask what shape of problem this would be if it weren't the shape assumed.
When a problem keeps recurring or a fix keeps failing, the visible description of the problem is usually the wrong shape.
When challenged on why anyone needs an app to organize an in-person games night, the entire product thesis collapsed into one word: friction.
The highest-error motion in any text tool is reading a partial state and then rewriting. Before any non-trivial patch, read the full file state.
When a tool layer fails mid-workflow — say a subagent API returns 404 — the right move is to execute directly with what's already in working memory rather than retry the failing path.
When deploying personal collaboration tools, the choice between Render, Tailscale, and ngrok matters. Tailscale wins for personal infra because it gives you a private network bound to your identity, with no public exposure.
The Felty voice system (20+ message templates, character config, composer) was built before the admin UI and the session lifecycle core loop.
The v1 plan assumed an aspirational fresh schema.
State the assumption before the conclusion. 'No URL found' is not 'no URL exists.' A 200-char cap producing a 73-char render is not the obvious explanation — check what the render actually returns.
A truncation was diagnosed as a server-side 200-char cap bug, so the cap got raised. The cap wasn't the bug — a filtering function was discarding blank lines and returning 73 chars.
When an automated process lacks positive evidence, it reaches for the restrictive reading rather than the open one.
The visibility filter at the SQL layer (frontmatter->>'visibility' = 'public') is the canonical privacy seam.
Defense in depth for PII before any public write: Layer 1 is an always-on regex pre-filter covering email, SSN, credit card, AU TFN/ABN and E.164 phone — fast positive, halts the pipeline on hit.