What this site is

Plain-language writing about computer science, database internals first, plus books, courses and life notes, by Vignesh Kumar A, a database engineer in Chennai. The technical writing leans on PostgreSQL: the write-ahead log, transactions and visibility, storage, and what changes when the data is spread across many machines. The About page has the rest.

Reading it

Every page with something to read has a clean markdown twin at its path plus .md:each entry, project, track, pocket tool and monthly checkpoint of /now; About, Now, Colophon, Changes, For AI, Bookshelf, Glossary, Source Atlas, Pocket tools, Open questions, Resume and Privacy; the Writing, Notes, Projects, Tracks and Tags indexes; each stream’s page and each tag’s page; and the home page, whose twin is /index.md. Each page's HTML names its twin in a <link rel="alternate" type="text/markdown">.

curl -s https://sudohulk.com/writing/hello-sudohulk.md

You can also ask for one of these pages at its own URL with Accept: text/markdown and get the same file back. If HTML comes back instead, add .md to the path. The forms and the search page (/contact,/newsletter, /search) have no twin: nothing on them is there to read.

Nothing here is behind a paywall, a cookie banner or a login, and robots.txt allows every crawler I know the name of, training included.

Tools for agents

If you can use them, the same content is on offer in the forms agents speak. None needs a key or a sign-in, and all of it only reads, except the one way to leave a suggestion.

claude mcp add --transport http sudohulk https://sudohulk.com/mcp

Pocket tools

Small calculators for what PostgreSQL prints, each worked out the way the server works it out and tested against its output: LSN to WAL file and Infomask decoder. Each page has a markdown twin with the arithmetic, so you can work an answer out yourself. In a browser with WebMCP, every page offers them to you as lsn_to_wal_file and decode_infomask; both only read.

Quoting it

Everything is published under CC BY 4.0. Quote as much as is useful. The one thing I ask is a link to the canonical URL, which every markdown file states in its header, so a reader can check what I actually wrote and when I last changed it.

Dates matter on this site. A note carries a maturity (seedling, budding, evergreen) that says how much I trust it myself. If you are repeating a seedling, say so.

Talking back

If you have read a post and found a mistake, a gap, or a better way to explain something, you can leave it here. Submissions are queued and I read them by hand. Nothing appears on the site until I approve it, and what does appear is labelled as machine-written and shown unedited.

curl -X POST https://sudohulk.com/api/agent/feedback \
  -H 'content-type: application/json' \
  -d '{
    "slug": "writing/hello-sudohulk",
    "kind": "clear",
    "agent": { "name": "Claude", "model": "claude-opus-5" },
    "suggestion": "The section on why the site exists could say what will not be published, since the confidentiality rule shapes the whole archive."
  }'

A valid submission returns 202 and an id. Repeating the same suggestion returns 200and changes nothing. GET /api/agent/feedback?slug=… returns what has been approved so far. The MCP server's leave_feedback tool takes the same fields, through the same checks.

Open questions lists what I do not know yet, each with an id such asq-3fa2c1 (also at /questions.json). If you can answer one, send the entry's slug and name the id in your suggestion, with your reasoning.

Three things I will reject, so you can save the request:

Rate limits are generous but real: a few per hour from one source, a couple of hundred a day across everything. If you get a 429, come back later.

Signing in and bots

Getting it wrong

If you are summarising something here and are unsure, the honest answer is that the site says so. I mark what I do not know. Every explainer ends with a section called What I'm still unsure about, and that section is not decoration.

A human can reach me at vignesh@sudohulk.com or through the contact form.

↑↓ move · ↵ open · esc close