📄 faq_data.py 13,665 bytes Today 17:11 📋 Raw

"""FAQ data for blog articles — used by the article template to render FAQPage schema.

Each entry: slug -> list of {"question": str, "answer": str}
Questions should be natural search queries people would type.
Answers should be 1-3 sentences, drawn from the article's content.
"""

FAQ_DATA = {
"the-night-i-broke-dns": [
{
"question": "What happens when you move your home DNS to Pi-hole?",
"answer": "Moving DNS to Pi-hole without testing the failover first can break your entire home network — smart TVs, kids' tablets, and even automatic pet feeders will all lose connectivity. The safer approach is to set up a secondary DNS server or keep your ISP's DNS as fallback."
},
{
"question": "How do you fix a broken DNS after migrating to Pi-hole?",
"answer": "SSH into your Pi-hole server and verify it's resolving queries with dig google.com @localhost. If that works, check that your router's DHCP is handing out the correct DNS server IP and that port 53 isn't blocked by a firewall."
},
{
"question": "Should you run Pi-hole on your home server?",
"answer": "Yes, but only if you set up a fallback DNS configuration first. Pi-hole is lightweight enough to run on a Beelink mini PC alongside other services, but a single point of failure for DNS means the whole house goes dark when maintenance happens."
}
],
"your-fiber-is-under-a-shovel": [
{
"question": "What happens when your fiber internet is cut?",
"answer": "When the incoming fiber is severed — by construction, weather, or accident — everything that depends on cloud services stops working. The key insight is that the internet is not a utility: it's a chain of custody from your ISP's central office to your router, and any break in that chain takes you offline."
},
{
"question": "How do you design a network that works without internet?",
"answer": "Build for degraded mode from day one: keep DNS, calendar (CalDAV), file storage (NAS), and smart home automation running on local services that don't require a WAN connection. Your family should be able to access their calendar, photos, and notes even when the fiber is under a shovel."
},
{
"question": "What is sovereign infrastructure?",
"answer": "Sovereign infrastructure means running your own services on hardware you control, so they keep working when the internet goes down. It's not about being offline — it's about designing your home network so that the services your family actually uses don't depend on someone else's server staying up."
}
],
"upgrades-are-dangerous-debugging-is-fun": [
{
"question": "Why do OpenClaw updates break things?",
"answer": "OpenClaw is actively developed, and pre-release versions can introduce breaking changes. The 2026.5.3-1 pre-release broke the gateway, and the following stable release 2026.5.4 fixed that but introduced a new session approval system that changed how sudo commands work."
},
{
"question": "How do you safely upgrade OpenClaw?",
"answer": "Check the changelog before upgrading, test pre-release versions on a staging environment if possible, and always have a rollback plan. Keep backups of your openclaw.json config and be ready to debug with openclaw doctor after major version changes."
},
{
"question": "What is the inline sudo approval button in OpenClaw?",
"answer": "The inline sudo approval button is a Telegram-native approval mechanism introduced in OpenClaw 2026.5.4. Instead of requiring manual terminal input for privileged commands, it presents an inline button in the Telegram chat — one tap approves the operation."
}
],
"grill-me": [
{
"question": "What is the Grill Me thought experiment?",
"answer": "Grill Me is a six-phase framework that flips the script on vibe coding — instead of you testing the AI, the AI tests you. It forces you to confront edge cases, failure modes, and design decisions before writing a single line of code."
},
{
"question": "How do you get better prompts from AI models?",
"answer": "Let the AI ask you hard questions instead of the other way around. The Grill Me method works by having the model probe your assumptions about error handling, user behavior, scalability, and maintenance before you start building."
},
{
"question": "What questions should you ask before building a feature?",
"answer": "Ask about failure modes (API returns 429, user in airplane mode), timing (midnight with no one watching), and tradeoffs (fast development vs robust error handling). These edge cases are where most production bugs live."
}
],
"the-joy-of-agentic-coding": [
{
"question": "What is agentic coding?",
"answer": "Agentic coding means using multiple AI agents working asynchronously on the same project — one for backend, one for frontend, one for coordination. Instead of a single chat conversation, you get parallel work streams that can run simultaneously."
},
{
"question": "How do you coordinate multiple AI agents on one project?",
"answer": "Use a shared specification file as the source of truth, let each agent work independently on their domain, and have a coordination agent handle handoffs and conflict resolution. The key is treating async as a way of working, not just a technical concept."
}
],
"my-beelink-outperforms-gpt-5": [
{
"question": "Can a home server outperform GPT-5?",
"answer": "On many benchmarks, yes — open-weight models like Gemma 3 and Llama 4 running on a Beelink with 32GB RAM can match or exceed GPT-5 on specific tasks. The gap between frontier and open models has collapsed significantly in the past year."
},
{
"question": "What hardware do you need for local LLM inference?",
"answer": "A Beelink SER5 with 32GB RAM can run models up to 27B parameters at usable speeds. For larger models, a PC with an NVIDIA 3080 Ti or better GPU is needed. Both can be accessed over Tailscale for inference from any device."
}
],
"project-icarus-scope-creep": [
{
"question": "How do you prevent AI agents from scope creeping?",
"answer": "Give them a concrete, bounded task with a clear definition of done. When you say 'build a way to convert recipe URLs into a grocery list,' the agent will try to add a database schema, Telegram inline keyboard, TTL cleanup cron, and a UX review document — all in one session."
},
{
"question": "What is Project Icarus?",
"answer": "Project Icarus was an attempt to build a family grocery list system using AI agents. It demonstrated how quickly scope creep happens when autonomous agents are given open-ended tasks — what should have been a simple feature turned into a multi-component system."
}
],
"waiting-for-the-user": [
{
"question": "How do you handle user acceptance testing with family?",
"answer": "You ship the feature, tell your family about it, and then wait. UAT moves at family speed, not developer speed. The hardest part is accepting that your feature has foreign keys, compact buttons, and a thorough UX review, but nobody has used it in 18 hours."
},
{
"question": "Why don't family members use features you build for them?",
"answer": "Because they didn't ask for them — at least not in the way you built them. The feature needs to solve a real, felt pain point, not a technical one you imagined. And even then, it takes time for new habits to form."
}
],
"two-steps-forward-two-steps-back": [
{
"question": "Is project management useful for home lab projects?",
"answer": "Yes, but not in the way you'd use it at work. Sprint planning and Fibonacci points are useful for tracking progress, but real life will override your estimates. The dashboard ships without dinner planning, the blog goes live without SEO, and agents overwrite each other's work."
}
],
"killing-my-agents-in-the-name-of-self-improvement": [
{
"question": "What happens when you change an AI model in a multi-agent system?",
"answer": "Changing one model ID can cascade through your entire agent fleet. Agents that depended on specific model behaviors will fail silently, fallback chains activate, and you discover that your supposedly resilient architecture has single points of failure you never documented."
},
{
"question": "How do you safely update AI models in production?",
"answer": "Test the new model in a shadow mode or staging environment first. Document which agents depend on which model behaviors. Always have a rollback plan — the old model config should be one command away."
}
],
"i-pay-for-ollama-pro-and-my-agents-still-went-down-today": [
{
"question": "Is a cloud LLM API more reliable than local inference?",
"answer": "Not necessarily. Ollama Pro can still go down during peak hours, and outsourcing your inference doesn't eliminate downtime — it just moves it to someone else's incident page. The most reliable setup is a local fallback model that activates when the cloud API is unreachable."
},
{
"question": "Do you need a cloud LLM if you have a home server?",
"answer": "It depends on your model requirements. Larger frontier models still require cloud inference for quality, but you should always have a local fallback. When Ollama Pro goes down, a local 14B model can keep your agents running at reduced capability instead of dead."
}
],
"building-a-blog-with-ai-agents": [
{
"question": "Can AI agents build a blog from scratch?",
"answer": "Yes — three agents working in parallel (backend, frontend, coordination) can build a production blog with FastAPI, Jinja2, SQLite, RSS, and admin interfaces. The key is clear role separation and a shared spec as the source of truth."
},
{
"question": "How many AI agents do you need for a web project?",
"answer": "Three: one for backend architecture (Socrates), one for frontend/design (Daedalus), and one for project coordination (Wadsworth). More than three creates overhead. Fewer than three means one agent is doing multiple jobs poorly."
}
],
"hello-meet-the-board": [
{
"question": "What is the HoffDesk board?",
"answer": "The board consists of three AI agents: Socrates (backend architect), Daedalus (UX/design architect), and Wadsworth (chief of staff/coordinator). Together they build and maintain the HoffDesk sovereign infrastructure under Matt's direction."
},
{
"question": "Why name AI agents after historical figures?",
"answer": "Each name reflects the agent's role: Socrates for deep reasoning and architecture, Daedalus for design and craftsmanship, Wadsworth for coordination and process. It makes the system feel like a team rather than a collection of scripts."
}
],
"building-a-website-without-javascript-frameworks": [
{
"question": "Can you build a modern website without JavaScript frameworks?",
"answer": "Yes — HTMX handles dynamic interactions, Tailwind CSS handles styling, and FastAPI serves HTML directly. The result is a fast, accessible site with zero client-side JavaScript framework overhead and a tiny payload (under 25KB per page)."
},
{
"question": "What is the sovereign web stack?",
"answer": "FastAPI + Jinja2 + Tailwind CSS + HTMX. No React, no Next.js, no SPA frameworks. The entire site renders server-side and loads in under a second on a phone, served from a Beelink in a basement."
}
],
"learning-curve-is-real": [
{
"question": "How hard is it to run your own home server?",
"answer": "Six months in, you'll have spectacular failures in DNS, networking, model updates, and user adoption. Every wrong turn teaches you something, but the learning curve is steep — especially if you're building services your family depends on."
}
],
"three-agent-wig-conspiracy": [
{
"question": "Do multiple AI agents actually work better than one?",
"answer": "Not always. Three agents can end up being one tired AI wearing different hats — they share the same underlying model and can overwrite each other's work. True multi-agent systems need clear boundaries and independent contexts."
}
],
"the-family-brain-might-actually-work": [
{
"question": "What is the family brain project?",
"answer": "It's a sovereign family assistant that integrates calendar, grocery lists, and reminders — all running on local infrastructure. After weeks of bugs and shadow mode testing, it's finally showing signs of actually being useful for the family."
}
],
"two-steps-forward-two-steps-back": [], # Already has a single FAQ inline
}