{
  "$comment": "Article registry. List order = display order. Add a new article by creating public/articles-content/<slug>/ with an article.md + article.json, then append an entry here.",
  "articles": [
    {
      "slug": "article14",
      "folder": "article14",
      "enabled": 1,
      "title": "The Model Is the Product: Inside the NZ Retail Remuneration Engine",
      "date": "2026-03-11",
      "readingMinutes": 11,
      "tags": ["Python", "Data Modelling", "Remuneration", "Workforce", "React"],
      "summary": "A plain-English tour of the Python model behind the NZ Retail Remuneration & Workforce Explorer. Four config-driven engines — leave, remuneration, capacity, scorecard — turn a fixed-seed synthetic workforce into numbers a retailer can actually argue about: $23.22M of fully-loaded cost, a roster running ~23× over capacity, and a programme sitting on a WARNING health score. The React dashboard is just the last mile."
    },

    {
      "slug": "article16",
      "folder": "article16",
      "enabled": 1,
      "title": "The Engine and the Car: Vector Search and RAG in SQL Server",
      "date": "2026-03-27",
      "readingMinutes": 12,
      "tags": ["AI", "Vector Search", "RAG", "SQL", "Embeddings"],
      "summary": "A plain-English, working tour of semantic search in MS SQL. Four tables, a few thousands products embedded with the nomic-embed-text-v2-moe model, cosine similarity computed in pure T-SQL, and seven real queries that find products by meaning — plus the RAG pipeline that turns a ranked list into an answer. Vector search is the engine; RAG is the car."
    },

    {
      "slug": "article17",
      "folder": "article17",
      "enabled": 1,
      "title": "Why I Run My Own LLM",
      "date": "2026-08-07",
      "readingMinutes": 10,
      "tags": ["AI", "LLM", "Local Models", "Privacy", "Self-hosting"],
      "summary": "Everyone asks the same question: why spend thousands on hardware when a $20-a-month subscription exists? A first-person case for running your own model — the shrinking plans and creeping prices, the model-swap suspicion, privacy and censorship, and the honest account of who a local LLM is really for."
    },

    {
      "slug": "article15",
      "folder": "article15",
      "enabled": 1,
      "title": "AI Won't Fix Your Dishwasher — Unless It Does",
      "date": "2025-12-20",
      "readingMinutes": 8,
      "tags": ["AI", "Vision", "Everyday Tech", "Problem Solving", "Story"],
      "summary": "A dishwasher flashed an error code I didn't understand, so I took a photo and asked an AI to walk me through the fix. A first-person story about pulling the machine out, finding a leaking hose, and the moment I realised AI could help with physical, hands-on tasks — not just keyboard work."
    },
    {
      "slug": "article11",
      "folder": "article11",
      "enabled": 1,
      "title": "Why AI Loves Markdown (and Why You Should Too)",
      "date": "2026-08-20",
      "readingMinutes": 9,
      "tags": ["AI", "Markdown", "Documentation", "Productivity", "Education"],
      "summary": "AI never sees files the way we do — it only sees text. A plain-English guide to why Markdown is the most token-efficient, AI-native format there is: the problem with PDFs and Word documents, the 2004 story of Markdown, why neural networks love it, how the clipboard works, and how to convert your legacy files before handing them to an AI."
    },

    {
      "slug": "article13",
      "folder": "article13",
      "enabled": 1,
      "title": "Tokens, Weights, and the Illusion of Understanding",
      "date": "2025-11-23",
      "readingMinutes": 9,
      "tags": ["AI", "LLM", "Tokenization", "Machine Learning", "Education"],
      "summary": "A plain-English guide to the real currency of the AI age: tokens. How text becomes numbers, how a tokenizer glues words into chunks, the strange 1994 history of the algorithm behind it, what a model physically is, and how \"understanding\" emerges from a next-word guessing game."
    },

    {
      "slug": "article12",
      "folder": "article12",
      "enabled": 1,
      "title": "Mermaid — Diagrams as Text",
      "date": "2026-08-22",
      "readingMinutes": 9,
      "tags": ["Documentation", "Diagrams", "AI", "Developer Tools", "Mermaid"],
      "summary": "In 2014 an architect lost a Visio file and decided there had to be a better way: if documentation is code, diagrams should be code too. A plain-English guide to Mermaid — the text-based diagram language that AI understands better than almost anything else — with examples, a tour of the diagram types, and links to get started."
    },
    {
      "slug": "article10",
      "folder": "article10",
      "enabled": 1,
      "title": "The Mailman Between You and the Model",
      "date": "2025-10-22",
      "readingMinutes": 10,
      "tags": ["AI", "MCP", "Protocol", "Tooling", "Software Engineering"],
      "summary": "A large language model lives in a data centre and can't see your files — so something has to carry your data to it. A plain-English guide to the Model Context Protocol: the three participants, the name broken down, the history, and how to build your own server in eight lines of code. If the server is yours, the rules are yours."
    },
    {
      "slug": "article09",
      "folder": "article09",
      "enabled": 1,
      "title": "The Bug That Computing Is Not Allowed to Fix",
      "date": "2026-07-10",
      "readingMinutes": 10,
      "tags": ["Systems Architecture", "Engineering History", "Legacy", "Hardware"],
      "summary": "In 1978 Intel's 8086 capped memory at 1 MB — and when a program asked for more, the chip silently wrapped back to zero. Fixing that bug broke the software that had come to depend on it, so IBM built the A20 gate: a hardware bug deliberately preserved and made switchable. A story about how reasonable decisions pile up until even mistakes become load-bearing."
    },
    {
      "slug": "article08",
      "folder": "article08",
      "enabled": 1,
      "title": "One Woman, Twenty Styles",
      "date": "2026-08-30",
      "readingMinutes": 11,
      "tags": ["AI", "Prompting", "Image Generation", "Illustration"],
      "summary": "One subject held completely fixed — a woman gathering flowers — and twenty different book-illustration styles wrapped around it. A practical, image-by-image look at how style words change the medium, the palette, the mood and even the world of an image, with every prompt included so you can reuse them."
    },
    {
      "slug": "article07",
      "folder": "article07",
      "enabled": 1,
      "title": "Should You Leave Programming? — 4 Career Bets",
      "date": "2026-08-04",
      "readingMinutes": 9,
      "tags": ["AI", "Career", "Software Engineering", "Future of Work"],
      "summary": "Code is getting cheaper, but the work around it isn't going away. A practical answer to the question every engineer is asking — with four bets on where the value is moving: existing systems, the space between fast change and expensive mistakes, applied AI engineering, and closing the distance to the user."
    },
    {
      "slug": "article06",
      "folder": "article06",
      "enabled": 1,
      "title": "The Confidently Wrong Answer",
      "date": "2026-03-10",
      "readingMinutes": 9,
      "tags": ["AI", "Prompting", "Reliability", "Best Practices"],
      "summary": "AI models are right most of the time — and confidently wrong the rest, with no signal to tell you which is which. A practical guide to the three places models predictably fail (phantom recall, the accommodating interlocutor, and long-conversation drift), and the four habits that keep you from being fooled."
    },
    {
      "slug": "article05",
      "folder": "article05",
      "enabled": 1,
      "title": "The Billion Developers Who Aren't Programmers",
      "date": "2025-11-26",
      "readingMinutes": 11,
      "tags": ["AI", "Future of Work", "Software Engineering", "Career"],
      "summary": "Two headlines — \"programmers will no longer exist\" and \"there will be a billion developers\" — sound like they contradict each other. They're both right; they're just counting different things. A deep dive into the predictions, the promises, and the one question that cuts through it all: what are we actually counting?"
    },
    {
      "slug": "article04",
      "folder": "article04",
      "enabled": 1,
      "title": "The Agent-Ready Codebase",
      "date": "2025-10-21",
      "readingMinutes": 11,
      "tags": ["AI Agents", "Development Workflow", "Tooling", "Best Practices"],
      "summary": "A practical guide to preparing your software projects for AI-assisted, agent-based development — Makefiles as the front door, pinned versions, agent files, self-verification, and an architecture that lets the robots get on with it."
    },
    {
      "slug": "article03",
      "folder": "article03",
      "enabled": 1,
      "title": "The Rework Tax",
      "date": "2026-06-03",
      "readingMinutes": 10,
      "tags": ["AI Agents", "Productivity", "Workflow", "Automation"],
      "summary": "Running several AI agents at once feels productive — until you realise you're the bottleneck. A mathematical model of multi-agent work, and why rework probability is the single biggest lever on your time."
    },
    {
      "slug": "article02",
      "folder": "article02",
      "enabled": 1,
      "title": "The 16 Megabyte Ceiling",
      "date": "2026-01-29",
      "readingMinutes": 9,
      "tags": ["Systems Architecture", "Mainframe", "Legacy", "Engineering History"],
      "summary": "In 1964 IBM shipped the System/360 with 24-bit addressing — a 16 MB ceiling that seemed astronomical at the time. Fourteen years later it was the most expensive constraint in computing history. A story about how thousands of individually reasonable decisions can accumulate into an invisible prison."
    },
    {
      "slug": "article01",
      "folder": "article01",
      "enabled": 1,
      "title": "The Database Which Worked, Nobody Knew How",
      "date": "2026-08-14",
      "readingMinutes": 14,
      "tags": ["Data Engineering", "SQL", "Legacy Modernisation", "Retail"],
      "summary": "A five-year retail data environment that looked perfectly normal — until a migration attempt revealed years of undocumented business decisions hiding in plain sight."
    }
  ]
}
