# blog.jaye.ch $ grep -r▊

The search

every published piece, by three signals at once — the words, the vectors, and the links between them.
# 59 pieces · 15768 words in the list · 239 citations from 184 works · three signals: the words, the vectors, the links
  1. Type a word — the pieces are searched by their words, their vectors and their links.

This page searches all 59 published pieces at once and tells you which of three signals put each result in front of you. The first is the words: the terms the pieces actually use, three characters and longer, each with the pieces it occurs in — looked up as a whole word and as the beginning of one, where a hit in a piece's title or a section heading counts for more than a hit in its body. The commonest words are left out (they are in every piece, so they name none); everything else is here, including a name used by a single piece and only once in it.

The second is a vector space — 160 dimensions per piece, built by hashing each term to a dimension and a sign. It is a tf-idf projection and not a neural embedding: there is no model here, and no projector either — this page recomputes your query's projection with the same hash and takes the cosine. That is how a piece that argues in different words still surfaces. Only words the pieces really use are projected, because a word none of them uses would land in dimensions the pieces' own terms have already filled and would answer with noise; a query of such words returns nothing, and the page says so rather than padding the list.

The third is the blog's own graph. Every piece is a node, every link one piece makes to another is an edge, and the 184 works the pieces cite — the books, papers and primary texts named in their notes — join pieces that never mention each other. Those facts are read by a small datalog evaluator running in this page, with its rules declared as data: the reasons under each result are the rules that fired, and a result can be here on the strength of the graph alone. The expansion is capped (the strongest few hits seed it and the derived facts are bounded), so an unusual query cannot make the page wait.

Nothing is fetched and nothing is sent anywhere: the index is in this page and the search runs in your browser. Snippets come from each piece's own headings, summary and opening passage, so a piece matched deep inside shows its opening rather than the matched line. Scores are relative to the query and are not a judgement of the piece.