Travel notes: Seoul → Tokyo

Markdown won because it was always good enough. Not the best at any one thing — never the fastest editor, never the prettiest output, never the most semantically rich. But always close enough that the switching cost killed every alternative.

Markdown won because it was always good enough. Not the best at any one thing — never the fastest editor, never the prettiest output, never the most semantically rich. But always close enough that the switching cost killed every alternative.

A good error message answers three questions: what happened, why it happened, and what to try next. Most ship the first, hint at the second, and forget the third. The fix is usually a single sentence longer.

Today's reading list

  1. Designing Data-Intensive Applications — chapter 5 (replication)
  2. The Hacker News thread on "What I learned writing a JIT"
  3. A Stripe engineering blog post about idempotency keys
  4. Karpathy's tweet thread about LLM evals
typescript
// Server-sent events from /api/import/url const res = await fetch("/api/import/url", { method: "POST", headers: { "Content-Type": "application/json", Accept: "text/event-stream" }, body: JSON.stringify({ url }) }); for await (const chunk of res.body!) { // parse SSE: 'event: stage' / 'data: {...}' }
Provider Strength Weakness
Claude Long context, instruction following Slow for tiny prompts
GPT-4o Multimodal, fast Drifts on long sessions
Cursor Code-aware ranking Locked to editor
flowchart LR
  Capture --> Organize
  Organize --> Use
  Use -.indispensability loop.-> Capture
Calm reading nook
Calm reading nook

The thesis here[1] is that delivery model matters more than retrieval quality.

Recap

A good error message answers three questions: what happened, why it happened, and what to try next. Most ship the first, hint at the second, and forget the third. The fix is usually a single sentence longer.


  1. First articulated in the W6 internal note "Graph RAG is delivery, not retrieval." ↩︎