41554 blogs · [ { "id": "01a0d94c-f7b6-72b9-bdf5-4b245fcd2590", "title": "I Pulled Nine Years of My Own Dev.to Data. The Numbers Were Not What I Expected.", "url": "https://www.kenwalger.com/blog/developer-relations/dev-to-api-author-analytics-python/", "published_at": "2026-09-24T12:11:00+00:00" }, { "id": "01a0d94c-f7b6-72b9-bdf5-4b246015fabf", "title": "Memory Is a System, Not a Prompt: Putting the Stack to Work", "url": "https://www.kenwalger.com/blog/ai-engineering/architecture/memory-is-a-system-not-a-prompt/", "published_at": "2026-09-22T12:18:00+00:00" }, { "id": "01a0bc56-3ed0-731e-8ac6-34aa32b311a0", "title": "Frameworks Are Institutional Memory", "url": "https://www.kenwalger.com/blog/software-engineering/frameworks-are-institutional-memory/", "published_at": "2026-09-17T16:24:28+00:00" }, { "id": "01a0bc56-3ed0-731e-8ac6-34aa3321e2d5", "title": "The Hidden Taxes of Prompt-Only AI", "url": "https://www.kenwalger.com/blog/uncategorized/hidden-taxes-of-prompt-only-ai/", "published_at": "2026-09-15T12:58:00+00:00" }, { "id": "01a0bc56-3ed0-731e-8ac6-34aa33bcc142", "title": "Living a Colorful Life in a Black-and-White ATS World", "url": "https://www.kenwalger.com/blog/career/ats-nonlinear-careers/", "published_at": "2026-09-14T12:33:00+00:00" }, { "id": "01a08cb8-92f6-71a8-b52a-966afa5b20ca", "title": "The Contract Discovery Bottleneck", "url": "https://www.kenwalger.com/blog/ai-engineering/contract-discovery-bottleneck/", "published_at": "2026-09-10T15:24:43+00:00" }, { "id": "01a08794-ee96-7286-852a-b771a99e6b9f", "title": "The Verification Bottleneck in AI-Generated Software", "url": "https://www.kenwalger.com/blog/ai/verification-bottleneck-ai-generated-software/", "published_at": "2026-09-09T13:05:00+00:00" }, { "id": "01a08794-ee96-7286-852a-b771aa4968e5", "title": "Context Hydration: When Memory Becomes Voice", "url": "https://www.kenwalger.com/blog/ai-engineering/architecture/context-hydration/", "published_at": "2026-09-08T12:43:00+00:00" }, { "id": "01a08794-ee96-7286-852a-b771ab333fd0", "title": "Can Rust Make Unsafe AI Agent Actions Unrepresentable?", "url": "https://www.kenwalger.com/blog/uncategorized/can-rust-make-unsafe-ai-agent-actions-unrepresentable/", "published_at": "2026-09-06T09:23:00+00:00" }, { "id": "01a08794-ee96-7286-852a-b771abd0566b", "title": "Forensic Receipts: From Trusted to Proven", "url": "https://www.kenwalger.com/blog/ai-engineering/architecture/forensic-receipts/", "published_at": "2026-09-03T12:44:00+00:00" }, { "id": "01a08794-ee96-7286-852a-b771ac42d2f3", "title": "Your Hiring Process Needs HTTP Status Codes", "url": "https://www.kenwalger.com/blog/career/hiring-process-http-status-codes/", "published_at": "2026-08-26T14:32:00+00:00" }, { "id": "01a08794-ee96-7286-852a-b771ac87b9ca", "title": "Your AI Agent Shouldn’t Be Allowed to Write Whatever It Wants", "url": "https://www.kenwalger.com/blog/ai-engineering/write-side-custody-go/", "published_at": "2026-08-25T19:02:33+00:00" }, { "id": "01a08794-ee96-7286-852a-b771acab49b0", "title": "Write-Side Custody: Trust Begins Before Memory", "url": "https://www.kenwalger.com/blog/ai-engineering/architecture/write-side-custody/", "published_at": "2026-08-24T13:23:00+00:00" }, { "id": "01a08794-ee96-7286-852a-b771ad976691", "title": "Designing a Reasoning Ledger Record", "url": "https://www.kenwalger.com/blog/ai-engineering/designing-a-reasoning-ledger-record/", "published_at": "2026-08-22T03:18:41+00:00" }, { "id": "01a08794-ee96-7286-852a-b771ada860ad", "title": "Your Memory API Is Lying to Your Agent", "url": "https://www.kenwalger.com/blog/ai-engineering/memory-api-lossy-boundary-agent-retrieval/", "published_at": "2026-08-20T22:26:32+00:00" }, { "id": "01a08794-ee96-7286-852a-b771ade8c532", "title": "The Reasoning Ledger: Remembering Decisions, Not Just Data", "url": "https://www.kenwalger.com/blog/ai-engineering/architecture/reasoning-ledger/", "published_at": "2026-08-20T12:44:00+00:00" }, { "id": "01a0bb48-2f58-72f6-a4c9-6026ff6eb569", "title": "You Don’t Need a Ministry of Truth to Build a Memory Hole", "url": "https://www.kenwalger.com/blog/ai-engineering/architecture/ai-memory-holes-provenance-monoculture/", "published_at": "2026-08-19T18:23:56+00:00" }, { "id": "01a0bb48-2f58-72f6-a4c9-6027001b68f0", "title": "The Kitchen Doesn’t Care About Your Excuses", "url": "https://www.kenwalger.com/blog/career/what-commercial-kitchens-teach-us-about-performing-under-pressure/", "published_at": "2026-08-17T13:19:00+00:00" }, { "id": "01a0bb48-2f58-72f6-a4c9-6027009f0f3a", "title": "Durable Memory: Why Vector Databases Aren’t Enough", "url": "https://www.kenwalger.com/blog/ai-engineering/architecture/durable-memory/", "published_at": "2026-08-13T22:43:06+00:00" }, { "id": "01a0bb48-2f58-72f6-a4c9-60270122b364", "title": "The Build-Optimizer", "url": "https://www.kenwalger.com/blog/ai/build-optimizer-yield-calculator-sovereign-maker/", "published_at": "2026-08-13T15:39:00+00:00" }, { "id": "01a0bb48-2f58-72f6-a4c9-6027014bac4d", "title": "Material Provenance", "url": "https://www.kenwalger.com/blog/ai/material-provenance-digital-passport-woodworking/", "published_at": "2026-08-06T16:08:00+00:00" }, { "id": "01a0bb48-2f58-72f6-a4c9-6027016c66dc", "title": "The Master Woodworker", "url": "https://www.kenwalger.com/blog/ai/master-woodworker-computer-vision-barrel-studio/", "published_at": "2026-07-30T16:17:00+00:00" }, { "id": "01a0bb56-3fcd-702b-a3b8-e586e8f43366", "title": "Active Working Memory: The RAM of Agentic Systems", "url": "https://www.kenwalger.com/blog/ai-engineering/active-working-memory/", "published_at": "2026-07-28T18:03:44+00:00" }, { "id": "01a0bb56-3fcd-702b-a3b8-e586e8fa672b", "title": "The Resilient Farm", "url": "https://www.kenwalger.com/blog/ai/the-resilient-farm-zero-waste-agile-harvest/", "published_at": "2026-07-23T16:14:00+00:00" }, { "id": "01a0bb56-3fcd-702b-a3b8-e586e8fc72c2", "title": "The Context Window Isn’t Memory. It’s the CPU Cache of AI.", "url": "https://www.kenwalger.com/blog/ai-engineering/architecture/context-window-is-not-memory/", "published_at": "2026-07-22T16:53:06+00:00" }, { "id": "01a0bb56-3fcd-702b-a3b8-e586e9af07a7", "title": "The Supply Chain Guardian", "url": "https://www.kenwalger.com/blog/ai/supply-chain-guardian-provenance-sovereign-vineyard/", "published_at": "2026-07-16T16:05:00+00:00" }, { "id": "01a0bb56-3fcd-702b-a3b8-e586eaa926c1", "title": "The Pivot Engine", "url": "https://www.kenwalger.com/blog/ai/the-pivot-engine-agile-harvest-ai/", "published_at": "2026-07-09T15:59:00+00:00" }, { "id": "01a0bb56-3fcd-702b-a3b8-e586eb51a105", "title": "The Agent Tool-Calling Pattern", "url": "https://www.kenwalger.com/blog/uncategorized/the-agent-tool-calling-pattern/", "published_at": "2026-07-03T11:19:00+00:00" }, { "id": "01a0bb56-3fcd-702b-a3b8-e586ec0489ba", "title": "The Field Agent", "url": "https://www.kenwalger.com/blog/ai/mcp/the-field-agent-sovereign-vineyard-mcp/", "published_at": "2026-07-02T16:17:00+00:00" }, { "id": "01a0bb56-3fcd-702b-a3b8-e586ec0a412f", "title": "Declarations from the Periphery: From Genesis to the Sovereign Edge", "url": "https://www.kenwalger.com/blog/ai/forging-the-sovereign-edge/", "published_at": "2026-07-02T13:14:00+00:00" }, { "id": "01a0bb56-3fcd-702b-a3b8-e586ec278dbb", "title": "A Cold Root Beer and a Small System", "url": "https://www.kenwalger.com/blog/uncategorized/root-beer-scoring-system-subjective-data/", "published_at": "2026-07-01T14:03:00+00:00" }, { "id": "01a0bb56-3fcd-702b-a3b8-e586ec98de52", "title": "The Hybrid Retrieval Pattern", "url": "https://www.kenwalger.com/blog/ai-engineering/architecture/inference-patterns-hybrid-retrieval-bm25-vector-search/", "published_at": "2026-06-30T23:18:13+00:00" }, { "id": "01a0bb5b-b54b-72c9-b23a-237f531716ee", "title": "The Scribe’s Day Off: From 1880 Archives to 2026 Vines", "url": "https://www.kenwalger.com/blog/uncategorized/the-scribes-day-off-from-1880-archives-to-2026-vines/", "published_at": "2026-06-30T15:54:00+00:00" }, { "id": "01a0bb5b-b54b-72c9-b23a-237f537a282b", "title": "The New Information Borders", "url": "https://www.kenwalger.com/blog/ai/the-new-information-borders/", "published_at": "2026-06-29T12:56:00+00:00" }, { "id": "01a0bb5b-b54b-72c9-b23a-237f54572038", "title": "The Future of SEO Has Nothing to Do With Search", "url": "https://www.kenwalger.com/blog/ai/future-of-seo-has-nothing-to-do-with-search/", "published_at": "2026-06-27T14:01:00+00:00" }, { "id": "01a0bb5b-b54b-72c9-b23a-237f55191583", "title": "Mapping the Social Graph", "url": "https://www.kenwalger.com/blog/ai/building-social-graphs-with-ai-agents/", "published_at": "2026-06-25T15:42:00+00:00" }, { "id": "01a0bb5b-b54b-72c9-b23a-237f551da5e6", "title": "The Sovereign Scout: Tracking 2026 Pitching Performance", "url": "https://www.kenwalger.com/blog/python/sovereign-scout-mlb-pitching-stats-app/", "published_at": "2026-06-23T16:21:00+00:00" }, { "id": "01a0bb5b-b54b-72c9-b23a-237f55e6f2a5", "title": "Introducing LaaSy™", "url": "https://www.kenwalger.com/blog/satire/introducing-laasy/", "published_at": "2026-06-22T18:30:25+00:00" }, { "id": "01a0bb5b-b54b-72c9-b23a-237f56a1d563", "title": "Engineering the Knowledge Archive", "url": "https://www.kenwalger.com/blog/ai/engineering-ai-agent-memory-json-ld/", "published_at": "2026-06-18T11:29:00+00:00" }, { "id": "01a0bb5b-b54b-72c9-b23a-237f56ae7edb", "title": "Expanding the Sovereign AI Stack: Moving the Specification from Gateway to Local Silicon", "url": "https://www.kenwalger.com/blog/ai-engineering/expanding-sovereign-ai-stack-sieve-ledger/", "published_at": "2026-06-16T17:30:20+00:00" }, { "id": "01a0bb5b-b54b-72c9-b23a-237f579cc82b", "title": "The Death of Note-Taking and the Rise of the Digital Scribe", "url": "https://www.kenwalger.com/blog/ai/death-of-note-taking-digital-scribe-mcp/", "published_at": "2026-06-11T15:46:00+00:00" }, { "id": "01a0bb5b-b54b-72c9-b23a-237f57e0aef5", "title": "MCP Is the USB-C of AI. So Why Are You Plugging Everything In?", "url": "https://www.kenwalger.com/blog/ai/mcp/mcp-containment-boundaries-ai-agents/", "published_at": "2026-06-10T14:25:00+00:00" }, { "id": "01a0bb63-c627-70af-8d39-4266c18c0645", "title": "Sovereign Synapse: The Local Brain — First Light", "url": "https://www.kenwalger.com/blog/ai/sovereign-synapse-local-brain-chromadb-ollama-embeddings/", "published_at": "2026-06-09T14:01:00+00:00" }, { "id": "01a0bb63-c627-70af-8d39-4266c1e124fb", "title": "The Long Way Around", "url": "https://www.kenwalger.com/blog/career/the-long-way-around/", "published_at": "2026-06-09T12:30:00+00:00" }, { "id": "01a0bb63-c627-70af-8d39-4266c263440c", "title": "The Context Compression Pattern", "url": "https://www.kenwalger.com/blog/ai-engineering/inference-patterns/inference-patterns-context-compression-lost-in-middle/", "published_at": "2026-06-05T14:48:26+00:00" }, { "id": "01a0bb63-c627-70af-8d39-4266c2f3c7c7", "title": "The Sovereign Vault — A Comprehensive Guide to Protocol-Driven AI", "url": "https://www.kenwalger.com/blog/ai/sovereign-vault-guide-protocol-driven-ai/", "published_at": "2026-06-04T16:44:00+00:00" }, { "id": "01a0bb63-c627-70af-8d39-4266c33f1f24", "title": "Operating Real-Time AI: SLAs, Observability, and Knowing When It’s Broken", "url": "https://www.kenwalger.com/blog/ai/operating-real-time-ai-slas-observability-and-knowing-when-its-broken/", "published_at": "2026-06-03T15:10:40+00:00" }, { "id": "01a0bb63-c627-70af-8d39-4266c3fc3581", "title": "Sovereign Synapse: The Context Cleaner", "url": "https://www.kenwalger.com/blog/ai/sovereign-synapse-curation-context-cleaner-regex-ed25519-provenance/", "published_at": "2026-06-02T13:50:57+00:00" }, { "id": "01a0bb63-c627-70af-8d39-4266c4bc8169", "title": "Shipping Sovereign SDK: Cryptographic Forensic Receipts and the End of the AI “Prose Tax”", "url": "https://www.kenwalger.com/blog/ai-engineering/sovereign-sdk-release-prose-audit-tax/", "published_at": "2026-05-29T12:56:00+00:00" }, { "id": "01a0bb63-c627-70af-8d39-4266c4c5222a", "title": "The Sovereign Vault: Building High-Integrity AI with MCP & Local Vision", "url": "https://www.kenwalger.com/blog/ai/the-sovereign-vault-mcp-case-study-high-integrity-ai/", "published_at": "2026-05-28T16:25:00+00:00" }, { "id": "01a0bb63-c627-70af-8d39-4266c5aa062a", "title": "Beyond the Hype: Announcing the Open Source Sovereign Systems Specification & Pattern Library", "url": "https://www.kenwalger.com/blog/software-architecture/sovereign-systems-specification-ai-design-patterns/", "published_at": "2026-05-27T15:58:06+00:00" }, { "id": "01a0bb63-c627-70af-8d39-4266c5d68144", "title": "Vector Search at Scale: Why Your Index Isn’t as Healthy as You Think", "url": "https://www.kenwalger.com/blog/ai/vector-search-at-scale-why-your-index-isnt-as-healthy-as-you-think/", "published_at": "2026-05-27T15:05:26+00:00" }, { "id": "01a0bb69-d048-71a6-9229-e4b1ba8afc28", "title": "The Sourdough Manifesto", "url": "https://www.kenwalger.com/blog/sovereign-ai/the-sourdough-manifesto-sovereign-ai-logging/", "published_at": "2026-05-26T14:43:17+00:00" }, { "id": "01a0bb69-d048-71a6-9229-e4b1bb4a52f0", "title": "The Speculative Decoding Pattern", "url": "https://www.kenwalger.com/blog/ai-engineering/inference-patterns-speculative-decoding-latency-cost-trap/", "published_at": "2026-05-22T15:13:38+00:00" }, { "id": "01a0bb69-d048-71a6-9229-e4b1bc087c44", "title": "The Auditor — High-Reasoning Synthesis and the Ethics of Governance", "url": "https://www.kenwalger.com/blog/ai/the-auditor-high-reasoning-synthesis-and-the-ethics-of-governance/", "published_at": "2026-05-21T15:54:00+00:00" }, { "id": "01a0bb69-d048-71a6-9229-e4b1bc525dc8", "title": "The Feature Store: Consistency and Latency Are Both Non-Negotiable", "url": "https://www.kenwalger.com/blog/ai/the-feature-store-consistency-and-latency-are-both-non-negotiable/", "published_at": "2026-05-20T14:58:57+00:00" }, { "id": "01a0bb69-d048-71a6-9229-e4b1bce3f1b8", "title": "Sovereign Synapse: The Great Export", "url": "https://www.kenwalger.com/blog/software-engineering/sovereign-synapse-reclaiming-ai-history-openai-adapter/", "published_at": "2026-05-19T15:22:25+00:00" }, { "id": "01a0bb69-d048-71a6-9229-e4b1bce8c37f", "title": "The Sovereign Redactor — A Precision-Guided Privacy Airlock", "url": "https://www.kenwalger.com/blog/ai/the-sovereign-redactor-a-precision-guided-privacy-airlock/", "published_at": "2026-05-14T16:08:00+00:00" }, { "id": "01a0bb69-d048-71a6-9229-e4b1bd2d1ffb", "title": "Feature Freshness: Designing Pipelines That Keep Up With the World", "url": "https://www.kenwalger.com/blog/ai/feature-freshness-designing-pipelines-that-keep-up-with-the-world/", "published_at": "2026-05-13T14:53:12+00:00" }, { "id": "01a0bb69-d048-71a6-9229-e4b1bd694141", "title": "Engineering Agent Memory", "url": "https://www.kenwalger.com/blog/ai/engineering-agent-memory/", "published_at": "2026-05-12T15:13:29+00:00" }, { "id": "01a0bb69-d048-71a6-9229-e4b1bdfea434", "title": "The Inference Renaissance", "url": "https://www.kenwalger.com/blog/ai-engineering/inference-patterns-renaissance-vibe-coding-to-engineering/", "published_at": "2026-05-08T16:28:00+00:00" }, { "id": "01a0bb69-d048-71a6-9229-e4b1be88b6ca", "title": "The Local Eye (Sovereign Vision)", "url": "https://www.kenwalger.com/blog/ai/the-local-eye-sovereign-vision/", "published_at": "2026-05-07T16:05:00+00:00" }, { "id": "01a0bb6d-ebe9-711f-81fb-cffb79c621a3", "title": "Why Your Tech Stack Doesn’t Matter", "url": "https://www.kenwalger.com/blog/ai/why-tech-stack-doesnt-matter-multi-agent-systems/", "published_at": "2026-05-06T22:24:09+00:00" }, { "id": "01a0bb6d-ebe9-711f-81fb-cffb7a85ee63", "title": "When Your AI Pipeline Grows Up: Infrastructure Thinking for Real-Time Inference at Scale", "url": "https://www.kenwalger.com/blog/ai/when-your-ai-pipeline-grows-up-infrastructure-thinking-for-real-time-inference-at-scale/", "published_at": "2026-05-06T15:45:00+00:00" }, { "id": "01a0bb6d-ebe9-711f-81fb-cffb7b8403dc", "title": "The Backyard Quarry, Part 8: From Rocks to Reality", "url": "https://www.kenwalger.com/blog/data-engineering/from-rocks-to-reality-system-design-patterns/", "published_at": "2026-05-05T14:13:29+00:00" }, { "id": "01a0bb6d-ebe9-711f-81fb-cffb7bdf1d3b", "title": "The Guardian: Human-in-the-Loop AI Governance", "url": "https://www.kenwalger.com/blog/ai/ai-agent-governance-human-in-the-loop-hitl/", "published_at": "2026-04-30T16:24:00+00:00" }, { "id": "01a0bb6d-ebe9-711f-81fb-cffb7cdb318c", "title": "What I’ve Been Building: Systems, AI, and Real-World Data", "url": "https://www.kenwalger.com/blog/ai/what-ive-been-building-systems-ai-and-real-world-data/", "published_at": "2026-04-29T14:07:00+00:00" }, { "id": "01a0bb6d-ebe9-711f-81fb-cffb7db1cf4d", "title": "The Backyard Quarry, Part 7: Systems Beyond the Backyard", "url": "https://www.kenwalger.com/blog/data-engineering/system-design-patterns-real-world-data-platforms/", "published_at": "2026-04-28T16:15:00+00:00" }, { "id": "01a0bb6d-ebe9-711f-81fb-cffb7e03dd89", "title": "The Accountant: Optimizing AI Costs with Semantic Routing", "url": "https://www.kenwalger.com/blog/ai/the-accountant-optimizing-ai-costs-with-semantic-routing/", "published_at": "2026-04-23T16:08:00+00:00" }, { "id": "01a0bb6d-ebe9-711f-81fb-cffb7e0e9935", "title": "The Backyard Quarry, Part 6: Scaling the Quarry", "url": "https://www.kenwalger.com/blog/data-engineering/scaling-data-pipelines-physical-objects/", "published_at": "2026-04-21T16:51:00+00:00" }, { "id": "01a0bb6d-ebe9-711f-81fb-cffb7e2ae061", "title": "Who Audits the Auditors? Building an LLM-as-a-Judge for Agentic Reliability", "url": "https://www.kenwalger.com/blog/ai/ai-agent-reliability-llm-as-a-judge/", "published_at": "2026-04-16T16:05:00+00:00" }, { "id": "01a0bb6d-ebe9-711f-81fb-cffb7e3e2955", "title": "The Backyard Quarry, Part 5: Digital Twins for Physical Objects", "url": "https://www.kenwalger.com/blog/data-engineering/digital-twins-physical-objects-explained/", "published_at": "2026-04-14T16:28:00+00:00" }, { "id": "01a0bb71-b5d9-7095-a5c5-a46ab37a5b8b", "title": "The Backyard Quarry, Part 4: Searching a Pile of Rocks", "url": "https://www.kenwalger.com/blog/data-engineering/searching-physical-objects-data-indexing/", "published_at": "2026-04-07T16:19:00+00:00" }, { "id": "01a0bb71-b5d9-7095-a5c5-a46ab443fd47", "title": "Building Your First MCP Server: TypeScript vs. Python", "url": "https://www.kenwalger.com/blog/ai/mcp-quickstart-typescript-vs-python/", "published_at": "2026-04-06T17:53:27+00:00" }, { "id": "01a0bb71-b5d9-7095-a5c5-a46ab540c0cc", "title": "The Final Boss: Enterprise Governance & Scalability", "url": "https://www.kenwalger.com/blog/ai/the-final-boss-enterprise-governance-scalability/", "published_at": "2026-04-02T17:05:00+00:00" }, { "id": "01a0bb71-b5d9-7095-a5c5-a46ab5cb4c67", "title": "The Backyard Quarry, Part 3: Capturing the Physical World", "url": "https://www.kenwalger.com/blog/data-engineering/capturing-physical-objects-data-pipeline/", "published_at": "2026-03-31T16:23:23+00:00" }, { "id": "01a0bb71-b5d9-7095-a5c5-a46ab6013849", "title": "From Cloud to Laptop: Running MCP Agents with Small Language Models", "url": "https://www.kenwalger.com/blog/ai/from-cloud-to-laptop-running-mcp-agents-with-small-language-models/", "published_at": "2026-03-26T16:58:59+00:00" }, { "id": "01a0bb71-b5d9-7095-a5c5-a46ab6980abe", "title": "The Backyard Quarry, Part 2: Designing a Schema for Physical Objects", "url": "https://www.kenwalger.com/blog/data-engineering/designing-a-schema-for-physical-objects/", "published_at": "2026-03-24T16:00:32+00:00" }, { "id": "01a0bb71-b5d9-7095-a5c5-a46ab737d98d", "title": "The Forensic Team: Architecting Multi-Agent Handoffs with MCP", "url": "https://www.kenwalger.com/blog/ai/mcp-multi-agent-orchestration-forensics/", "published_at": "2026-03-19T16:32:31+00:00" }, { "id": "01a0bb71-b5d9-7095-a5c5-a46ab7e1e3e8", "title": "The Backyard Quarry: Turning Rocks Into Data", "url": "https://www.kenwalger.com/blog/software-engineering/the-backyard-quarry-turning-rocks-into-data/", "published_at": "2026-03-17T16:16:00+00:00" }, { "id": "01a0bb71-b5d9-7095-a5c5-a46ab8dc96c2", "title": "The End of Glue Code: Why MCP Is the USB-C Moment for AI Systems", "url": "https://www.kenwalger.com/blog/ai/mcp-usb-c-moment-ai-architecture/", "published_at": "2026-03-09T13:31:32+00:00" }, { "id": "01a0bb71-b5d9-7095-a5c5-a46ab97e0227", "title": "Get Cooking with ChatGPT", "url": "https://www.kenwalger.com/blog/python/%ef%bf%bcget-cooking-with-chatgpt/", "published_at": "2023-02-10T23:10:15+00:00" }, { "id": "01a0bb75-29fc-70bd-885f-35366df3b3be", "title": "Assignment Operators in R – Which One to Use and Where", "url": "https://www.kenwalger.com/blog/uncategorized/assignment-operators-r/", "published_at": "2023-02-10T22:54:06+00:00" }, { "id": "01a0bb75-29fc-70bd-885f-35366e7a1bbe", "title": "Building with Patterns: A Summary", "url": "https://www.kenwalger.com/blog/nosql/mongodb/building-with-patterns-a-summary/", "published_at": "2019-05-10T15:38:16+00:00" }, { "id": "01a0bb75-29fc-70bd-885f-35366ede9752", "title": "Building with Patterns: The Schema Versioning Pattern", "url": "https://www.kenwalger.com/blog/nosql/mongodb/building-with-patterns-the-schema-versioning-pattern/", "published_at": "2019-05-02T14:19:11+00:00" }, { "id": "01a0bb75-29fc-70bd-885f-35366f110fc2", "title": "Building with Patterns: The Document Versioning Pattern", "url": "https://www.kenwalger.com/blog/nosql/mongodb/building-with-patterns-the-document-versioning-pattern/", "published_at": "2019-04-18T14:07:33+00:00" }, { "id": "01a0bb75-29fc-70bd-885f-35366f54b7a9", "title": "Building with Patterns: The Preallocation Pattern", "url": "https://www.kenwalger.com/blog/nosql/mongodb/building-with-patterns-the-preallocation-pattern/", "published_at": "2019-04-11T13:56:56+00:00" }, { "id": "01a0bb75-29fc-70bd-885f-35366fac1625", "title": "Building with Patterns: The Tree Pattern", "url": "https://www.kenwalger.com/blog/nosql/mongodb/building-with-patterns-the-tree-pattern/", "published_at": "2019-04-04T14:24:50+00:00" }, { "id": "01a0bb75-29fc-70bd-885f-35366fb460c7", "title": "Building with Patterns: The Approximation Pattern", "url": "https://www.kenwalger.com/blog/nosql/mongodb/building-with-patterns-the-approximation-pattern/", "published_at": "2019-03-29T14:13:44+00:00" }, { "id": "01a0bb75-29fc-70bd-885f-3536709199c4", "title": "Building with Patterns: The Extended Reference Pattern", "url": "https://www.kenwalger.com/blog/nosql/mongodb/building-with-patterns-the-extended-reference-pattern/", "published_at": "2019-03-15T13:22:04+00:00" }, { "id": "01a0bb75-29fc-70bd-885f-35367144a367", "title": "Building with Patterns: The Subset Pattern", "url": "https://www.kenwalger.com/blog/nosql/mongodb/building-with-patterns-the-subset-pattern/", "published_at": "2019-03-08T19:19:51+00:00" }, { "id": "01a0bb75-29fc-70bd-885f-353671f67287", "title": "Building with Patterns: The Computed Pattern", "url": "https://www.kenwalger.com/blog/nosql/mongodb/building-with-patterns-the-computed-pattern/", "published_at": "2019-02-28T14:25:39+00:00" }, { "id": "01a0bb78-6747-7346-9b63-cf9c2cfdcd42", "title": "Building With Patterns: The Outlier Pattern", "url": "https://www.kenwalger.com/blog/nosql/mongodb/building-with-patterns-the-outlier-pattern/", "published_at": "2019-02-21T14:31:25+00:00" }, { "id": "01a0bb78-6747-7346-9b63-cf9c2d9390b3", "title": "Building With Patterns: The Bucket Pattern", "url": "https://www.kenwalger.com/blog/nosql/mongodb/mongodb-schema-design-patterns-the-bucket-pattern/", "published_at": "2019-02-14T15:30:22+00:00" }, { "id": "01a0bb78-6747-7346-9b63-cf9c2e273e5f", "title": "Building With Patterns: The Attribute Pattern", "url": "https://www.kenwalger.com/blog/nosql/mongodb/mongodb-attribute-design-pattern/", "published_at": "2019-02-07T14:03:12+00:00" }, { "id": "01a0bb78-6747-7346-9b63-cf9c2e631664", "title": "Building With Patterns: The Polymorphic Pattern", "url": "https://www.kenwalger.com/blog/nosql/mongodb/mongodb-schema-design-patterns-polymorphic/", "published_at": "2019-01-31T15:03:58+00:00" }, { "id": "01a0bb78-6747-7346-9b63-cf9c2e6907eb", "title": "MongoDB’s BI Connector: The Smart Connector for Business Intelligence", "url": "https://www.kenwalger.com/blog/nosql/mongodb/mongodbs-smart-bi-connector/", "published_at": "2018-11-23T15:19:10+00:00" }, { "id": "01a0bb78-6747-7346-9b63-cf9c2f2ff18d", "title": "MongoDB Atlas Data Explorer", "url": "https://www.kenwalger.com/blog/nosql/mongodb/mongodb-atlas-data-explorer/", "published_at": "2018-11-22T14:28:36+00:00" }, { "id": "01a0bb78-6747-7346-9b63-cf9c2fef2c07", "title": "Reducing the Need for ETL with MongoDB Charts", "url": "https://www.kenwalger.com/blog/nosql/mongodb/reducing-need-etl-mongodb-charts/", "published_at": "2018-11-20T16:27:15+00:00" }, { "id": "01a0bb78-6747-7346-9b63-cf9c3031d68e", "title": "Visualizing Your Data With MongoDB Charts", "url": "https://www.kenwalger.com/blog/nosql/mongodb/visualizing-data-mongodb-charts/", "published_at": "2018-11-12T16:06:35+00:00" } ] posts Claim your blog
Back to kenwalger.com
Blog · corpus.blog/blogs/kenwalger.com/posts

kenwalger.com

kenwalger.com

2026

2023

2019

2018