Skip to main content J Williams
Blog
← All topics
23 Jun 2026
Demystifying Token Prediction: How Temperature Actually Shapes What an LLM Says Next
A from-first-principles explanation of next-token prediction: logits, softmax, and temperature, demonstrated with a real bigram language model trained and run live in JavaScript, with an adjustable temperature slider and real probability bars computed on every step — plus what changes (and what doesn't) once you scale up to an actual transformer.
09 Jun 2026
How Semantic Search Actually Works: A Tiny Search Engine You Can Run in This Tab
A from-first-principles walk through vector search: build a real TF-IDF and cosine-similarity search engine that runs live in the browser, see exactly where lexical search fails on synonyms, and understand precisely what neural embeddings change about the picture — with real code for generating and comparing actual embeddings.
22 May 2026
Vibe Coding: When to Let an AI Agent Drive (and When to Take the Wheel)
An honest look at vibe coding: what changes about the review process when you stop reading every line an AI agent writes, a steppable diagram of the agentic loop, and a real scoring tool you can use to decide whether a given task is safe to vibe through, review closely, or drive yourself.
08 May 2026
Building an MCP Server: A Practical Introduction to the Model Context Protocol
A hands-on introduction to the Model Context Protocol (MCP): what problem it solves, the JSON-RPC 2.0 messages exchanged between host and server, a live in-browser protocol simulator, and a real Python server built with the official SDK that exposes an H3 geospatial tool.
15 Apr 2026
What Do Large Language Models Know About Place?
A reflective piece on how large language models represent place: the difference between spatial and platial knowledge, what LLMs do well (cultural associations, character, narrative), what they get wrong (boundaries, recency, under-represented places), and how to build applications that use this capability honestly.