/* The post index. Adding an article = add one entry at the top of POSTS, plus the matching file in posts/.html. Nothing else to touch. */ const CATEGORIES = { sequences: { label: "Sequences & Recurrences", blurb: "Closed forms, recursions, and the structures hiding behind them." }, dynamics: { label: "Dynamics & Iteration", blurb: "What happens when you apply the same map over and over." }, linalg: { label: "Linear Algebra", blurb: "Eigenvalues, matrices, and the geometry they encode." }, analysis: { label: "Analysis", blurb: "Limits, convergence, approximation." } }; const POSTS = [ { slug: "fixed-points-and-closed-forms", title: "Fixed Points, and Why They Solve Recurrences", subtitle: "From a high-school trick to the geometry of a Möbius map", category: "sequences", tags: ["fixed points", "Möbius maps", "eigenvalues", "conjugation"], date: "2026-09-21", minutes: 20, summary: "Everyone learns to solve aₙ₊₁ = paₙ + q by \"finding the fixed point and subtracting it.\" " + "That step looks like luck. It is not: the fixed point is the origin of the coordinate system in which " + "the map becomes a pure multiplication, and the multiplier is exactly f′ at that point." } ]; /* Not written yet — shown on the home page as what's coming. */ const PLANNED = [ { title: "Characteristic Roots, and Why Fibonacci Has a Closed Form", category: "sequences", note: "The same eigenvalue story one dimension up: aₙ₊₂ = paₙ₊₁ + qaₙ as a matrix power, " + "Binet's formula, and what the repeated-root case really means." } ]; /* Expose explicitly so the other scripts never depend on cross-script scoping. */ window.CATEGORIES = CATEGORIES; window.POSTS = POSTS; window.PLANNED = PLANNED;