41554 blogs · [ { "id": "01a087bb-d0e2-7342-942f-d82e5a93b6fd", "title": "Prompt Engineering Is (Mostly) Dead", "url": "https://paddo.dev/blog/prompt-engineering-is-dead/", "published_at": "2026-01-06T00:00:00+00:00" }, { "id": "01a087bb-d0e2-7342-942f-d82e5b0280bc", "title": "How the Creator of Claude Code Uses Claude Code", "url": "https://paddo.dev/blog/how-boris-uses-claude-code/", "published_at": "2026-01-05T00:00:00+00:00" }, { "id": "01a087bb-d0e2-7342-942f-d82e5bbebd77", "title": "Guardrails by Default: Why AI Coding's Next Evolution Isn't Smarter Models", "url": "https://paddo.dev/blog/guardrails-by-default/", "published_at": "2026-01-03T00:00:00+00:00" }, { "id": "01a087bb-d0e2-7342-942f-d82e5c7b0391", "title": "Claude Code's Hidden MCP Flag: 32k Tokens Back", "url": "https://paddo.dev/blog/claude-code-hidden-mcp-flag/", "published_at": "2025-12-29T00:00:00+00:00" }, { "id": "01a087bb-d0e2-7342-942f-d82e5c90f6c8", "title": "The Alien Tool With No Manual", "url": "https://paddo.dev/blog/alien-tool-no-manual/", "published_at": "2025-12-28T00:00:00+00:00" }, { "id": "01a087bb-d0e2-7342-942f-d82e5d6c6526", "title": "The $0 SaaS Stack: Ship Fast, Pay Later", "url": "https://paddo.dev/blog/zero-dollar-saas-stack/", "published_at": "2025-12-27T00:00:00+00:00" }, { "id": "01a087bb-d0e2-7342-942f-d82e5e56550f", "title": "claude-launcher: Model Freedom for Claude Code", "url": "https://paddo.dev/blog/claude-launcher-model-freedom/", "published_at": "2025-12-26T00:00:00+00:00" }, { "id": "01a087bb-d0e2-7342-942f-d82e5ee7864c", "title": "The Open Source Agentic Moment", "url": "https://paddo.dev/blog/open-source-agentic-moment/", "published_at": "2025-12-25T00:00:00+00:00" }, { "id": "01a087bb-d0e2-7342-942f-d82e5fc5c435", "title": "Claude in Chrome: Close the Dev Loop Without Leaving Your Terminal", "url": "https://paddo.dev/blog/claude-in-chrome-dev-loop/", "published_at": "2025-12-24T00:00:00+00:00" }, { "id": "01a087bb-d0e2-7342-942f-d82e6003a453", "title": "Gemini 3 Flash: The Model That Shouldn't Exist", "url": "https://paddo.dev/blog/gemini-3-flash-model-that-shouldnt-exist/", "published_at": "2025-12-23T00:00:00+00:00" }, { "id": "01a087bb-d0e2-7342-942f-d82e6077fa21", "title": "Claude Code: The Details That Compound", "url": "https://paddo.dev/blog/claude-code-details-that-compound/", "published_at": "2025-12-20T00:00:00+00:00" }, { "id": "01a087bb-d0e2-7342-942f-d82e60e518e0", "title": "Tether: Encrypted Dotfile Sync for Multi-Machine Developers", "url": "https://paddo.dev/blog/tether-cli-launch/", "published_at": "2025-12-19T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29e5a7e6ae", "title": "Three Ways to Build Deep Research with Claude", "url": "https://paddo.dev/blog/three-ways-deep-research-claude/", "published_at": "2025-12-18T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29e5ba7623", "title": "The Terminal Renaissance", "url": "https://paddo.dev/blog/terminal-renaissance/", "published_at": "2025-12-17T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29e67e7848", "title": "Visual Verification: Making Agents Prove Their Work", "url": "https://paddo.dev/blog/multimodal-validation-visual-verification/", "published_at": "2025-12-16T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29e6c4c419", "title": "Beads: Memory for Your Coding Agents", "url": "https://paddo.dev/blog/beads-memory-for-coding-agents/", "published_at": "2025-12-15T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29e73505b0", "title": "GPT-5.2: The Delegation Era Begins", "url": "https://paddo.dev/blog/gpt-5-2-delegation-era/", "published_at": "2025-12-14T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29e7a7d3b9", "title": "claude-tools: A Plugin Marketplace for Claude Code", "url": "https://paddo.dev/blog/claude-tools-plugin-marketplace/", "published_at": "2025-12-13T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29e8103fd9", "title": "Divers and CNC Machines: Yegge and Kim on What's Coming", "url": "https://paddo.dev/blog/yegge-kim-divers-and-cnc-machines/", "published_at": "2025-12-12T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29e8f89c48", "title": "Claude Code Gets Path-Specific Rules (Cursor Had This First)", "url": "https://paddo.dev/blog/claude-rules-path-specific-native/", "published_at": "2025-12-11T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29e9acba20", "title": "Denial, Then Admission: Why LLM Quality Drops Are Real", "url": "https://paddo.dev/blog/denial-then-admission/", "published_at": "2025-12-10T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29ea0f690c", "title": "Your Ad Budget Is Feeding Bots: Why the Future Is Physical", "url": "https://paddo.dev/blog/advertising-bots-billboards/", "published_at": "2025-12-09T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29ea9e7408", "title": "Your Website Is About to Become a Workflow", "url": "https://paddo.dev/blog/websites-become-workflows/", "published_at": "2025-12-08T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29eaddf04c", "title": "The External Scaffolding Era Is Ending", "url": "https://paddo.dev/blog/external-scaffolding-era-ending/", "published_at": "2025-12-07T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29ebd752dd", "title": "The LinkedIn Hot Take Problem: Why the AI Discourse Is Backwards", "url": "https://paddo.dev/blog/debunking-linkedin-ai-hot-takes/", "published_at": "2025-12-06T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29ec7f2e62", "title": "12 Factor Agents: Principles for AI That Actually Work", "url": "https://paddo.dev/blog/12-factor-agents/", "published_at": "2025-12-05T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29ecf17ad3", "title": "Anthropic Bought Bun", "url": "https://paddo.dev/blog/anthropic-bought-bun/", "published_at": "2025-12-04T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29eddcb009", "title": "Plan Mode Is Now Mandatory. Auto-Compact Should Be Enabled.", "url": "https://paddo.dev/blog/plan-mode-mandatory-auto-compact-yes/", "published_at": "2025-12-03T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29ee49874a", "title": "Ralph Wiggum: Autonomous Loops for Claude Code", "url": "https://paddo.dev/blog/ralph-wiggum-autonomous-loops/", "published_at": "2025-12-02T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29ee76b47d", "title": "Claude Code Plugins: Breaking the AI Slop Aesthetic", "url": "https://paddo.dev/blog/claude-code-plugins-frontend-design/", "published_at": "2025-11-29T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29ef049828", "title": "Agent Harnesses: From DIY Patterns to Product", "url": "https://paddo.dev/blog/agent-harnesses-from-diy-to-product/", "published_at": "2025-11-28T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29ef96d783", "title": "The Scaling Trap: When Startups Eat Their Own", "url": "https://paddo.dev/blog/the-scaling-trap/", "published_at": "2025-11-27T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f0569d38", "title": "AI-Generated UI Mockups in Your Coding Workflow", "url": "https://paddo.dev/blog/nano-banana-ux-design-workflow/", "published_at": "2025-11-26T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f0fe81da", "title": "Opus 4.5 and Tool Search: The Native Fix for MCP Context Bloat", "url": "https://paddo.dev/blog/opus-4-5-tool-search-context/", "published_at": "2025-11-25T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f141a3eb", "title": "From Single Model to Specialized Tooling: Adding React Grab to the Stack", "url": "https://paddo.dev/blog/react-grab-workflow-evolution/", "published_at": "2025-11-24T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f1b11f99", "title": "The SDLC Is Collapsing Too", "url": "https://paddo.dev/blog/sdlc-is-collapsing/", "published_at": "2025-11-23T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f225104f", "title": "The Quiet Advantage: Introverts in Tech", "url": "https://paddo.dev/blog/introverts-in-tech/", "published_at": "2025-11-21T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f27faa56", "title": "Hybrid AI Workflows: Spawning Gemini from Claude Code", "url": "https://paddo.dev/blog/gemini-claude-code-hybrid-workflow/", "published_at": "2025-11-20T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f33235c1", "title": "Gemini 3: The First Unambiguous #1 in Months", "url": "https://paddo.dev/blog/gemini-3-unambiguous-number-one/", "published_at": "2025-11-19T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f3464562", "title": "Finding the Craft in the Chaos: A Stoic Take on Job Loss", "url": "https://paddo.dev/blog/stoicism-adversity-and-craft/", "published_at": "2025-11-18T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f3c83db3", "title": "C# 14 and .NET 10: Less Boilerplate, More Clarity", "url": "https://paddo.dev/blog/csharp-14-dotnet-10-less-boilerplate-more-clarity/", "published_at": "2025-11-16T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f485d722", "title": "Product Engineering: The New Superpower", "url": "https://paddo.dev/blog/product-engineering-the-new-superpower/", "published_at": "2025-11-15T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f4e37afa", "title": "C# Scripts: The Python Killer You Already Know", "url": "https://paddo.dev/blog/dotnet-10-scripting/", "published_at": "2025-11-14T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f536218d", "title": "Use Bun", "url": "https://paddo.dev/blog/use-bun/", "published_at": "2025-11-13T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f60ee8d9", "title": "Skills Auto-Activation via Hooks (Does It Solve the Problem?)", "url": "https://paddo.dev/blog/claude-skills-hooks-solution/", "published_at": "2025-11-12T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f7036226", "title": "Expressing MCP Tools as Code APIs (96% Less Context)", "url": "https://paddo.dev/blog/mcp-code-wrapper/", "published_at": "2025-11-07T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f72a1366", "title": "Claude Skills: The Controllability Problem", "url": "https://paddo.dev/blog/claude-skills-controllability-problem/", "published_at": "2025-11-04T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f7da263f", "title": "The Hiring Mismatch: When 20 Years of Experience Isn't Enough", "url": "https://paddo.dev/blog/hiring-engineers-in-the-ai-age/", "published_at": "2025-11-02T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f80cc62a", "title": "When Claude Needs a Second Opinion: Strategic Thinking with Codex", "url": "https://paddo.dev/blog/codex-vs-claude-systems-thinking/", "published_at": "2025-11-01T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f8c3d427", "title": "Isolating MCP Context in Claude Code with Slash Commands", "url": "https://paddo.dev/blog/claude-code-mcp-context-isolation/", "published_at": "2025-10-29T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f94bde77", "title": "DeepSeek-OCR: Compressing Text by 20x Using Vision", "url": "https://paddo.dev/blog/deepseek-vision-compression/", "published_at": "2025-10-28T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29f9d0e246", "title": "Few-Shot Learning for Document Parsing: Training AI on Human Corrections", "url": "https://paddo.dev/blog/few-shot-learning-document-parsing/", "published_at": "2025-10-27T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29fa8e1802", "title": "When Not to Use AI: Two Approaches to Building AI-Powered Products", "url": "https://paddo.dev/blog/when-not-to-use-ai/", "published_at": "2025-10-26T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29fb608ef0", "title": "How We Fixed Authorization by Moving Security from Code to Architecture", "url": "https://paddo.dev/blog/systems-thinking-authentication-redesign/", "published_at": "2025-10-24T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29fb6b7bf7", "title": "Building Trivista: What AI Coding Actually Solves (and What It Doesn't)", "url": "https://paddo.dev/blog/building-trivista-with-ai-coding/", "published_at": "2025-10-21T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29fc0c6630", "title": "Cascading AI Pipelines: When One Model Feeds Another", "url": "https://paddo.dev/blog/cascading-ai-pipelines/", "published_at": "2025-10-15T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29fc6aa9cf", "title": "Building Magpie Swoop: A Retro Game About Australia's Most Terrifying Spring Ritual", "url": "https://paddo.dev/blog/building-magpie-swoop/", "published_at": "2025-10-10T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29fcc2af2e", "title": "Stop Speedrunning Claude Code (Master the Core Loop First)", "url": "https://paddo.dev/blog/stop-speedrunning-claude-code/", "published_at": "2025-10-08T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29fd1205c5", "title": "When Cloudflare Thinks Your Cloud Function is a Bot: The Case for API Aggregators", "url": "https://paddo.dev/blog/cloudflare-blocking-cloud-functions/", "published_at": "2025-10-03T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29fdb72ef5", "title": "Vibe Coding a Blog Migration: Ghost to Astro in One Night with Claude Code", "url": "https://paddo.dev/blog/vibe-coding-ghost-to-astro/", "published_at": "2025-09-30T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29fe13031f", "title": "Flutter Auto-Reload for Terminal Workflows", "url": "https://paddo.dev/blog/flutter-auto-reload-cli-tools/", "published_at": "2025-09-29T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29fe415419", "title": "Building Real-Time Multiplayer with Firebase: What Works and What Doesn't", "url": "https://paddo.dev/blog/flutter-real-time-multiplayer-firebase/", "published_at": "2025-09-28T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29feaf7ae4", "title": "Flutter: Animated Gradients via Custom Hooks", "url": "https://paddo.dev/blog/flutter-animated-gradients-with-hooks/", "published_at": "2019-06-10T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29fef6037d", "title": "Flutter architecture: Hooks, Functional Widget and RxDart", "url": "https://paddo.dev/blog/flutter-architecture-part-1/", "published_at": "2019-05-08T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29ff318044", "title": "Exploding stuff in Unity", "url": "https://paddo.dev/blog/exploding-stuff-in-unity/", "published_at": "2017-09-01T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c29ffffc56b", "title": "ASP.NET Core Image Resizing Middleware", "url": "https://paddo.dev/blog/asp-net-core-image-resizing-middleware/", "published_at": "2017-04-20T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c2a0024d36c", "title": "Microservices on .net core with Nancy - Part 2", "url": "https://paddo.dev/blog/microservices-on-net-core-with-nancy-part-2/", "published_at": "2017-04-11T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c2a008e1e36", "title": "Radial slider in RaphaëlJS", "url": "https://paddo.dev/blog/radial-slider-in-raphaeljs/", "published_at": "2016-12-20T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c2a00b2878d", "title": "Microservices on .net core with Nancy - Part 1", "url": "https://paddo.dev/blog/microservices-on-net-core-with-nancy-part-1/", "published_at": "2016-12-08T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c2a01907e2d", "title": "Transactional email on .net core with Sendwithus", "url": "https://paddo.dev/blog/sendwithus-client-net-core/", "published_at": "2016-08-25T00:00:00+00:00" }, { "id": "01a087bb-d0e3-7144-b5fb-7c2a0216b085", "title": "\"Controllerless\" views in asp.net core", "url": "https://paddo.dev/blog/controllerless-views-in-asp-net-core/", "published_at": "2016-08-17T00:00:00+00:00" } ] posts Claim your blog
Back to paddo.dev
Blog · corpus.blog/blogs/paddo.dev/posts

paddo.dev

paddo.dev

2026

2025

2019

2017

2016