41554 blogs · [ { "id": "01a0ca7f-a375-72c4-ac52-70c3e65f5844", "title": "No plan September", "url": "https://ooo-yay.com/blog/no-plan-september", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf56afedd8a", "title": "OpenAPI Generator: read typescript-fetch error responses", "url": "https://ooo-yay.com/blog/error-handling-with-openapi-generator-s-typescript-fetch-client", "published_at": "2026-09-06T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf56b255019", "title": "Ask good questions", "url": "https://ooo-yay.com/blog/ask-good-questions", "published_at": "2026-08-16T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf56b5eb750", "title": "Working definitions", "url": "https://ooo-yay.com/blog/working-definitions", "published_at": "2026-08-09T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf56bcbe65b", "title": "Codeberg banned code it can't identify", "url": "https://ooo-yay.com/blog/codebergs-ai-ban-is-a-values-statement", "published_at": "2026-07-22T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf56bed6f39", "title": "What comes after chat?", "url": "https://ooo-yay.com/blog/what-comes-after-chat", "published_at": "2026-07-19T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf56cc31136", "title": "Why Cascade Chat kept disconnecting", "url": "https://ooo-yay.com/blog/an-event-boundary-is-not-an-isolation-boundary", "published_at": "2026-07-16T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf56d39290c", "title": "The most powerful AI product decision is invisible", "url": "https://ooo-yay.com/blog/the-most-powerful-ai-product-decision-is-invisible", "published_at": "2026-07-12T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf56d9f99a8", "title": "Cascade Chat has moved to an ADLC", "url": "https://ooo-yay.com/blog/cascade-chat-adlc", "published_at": "2026-06-26T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf56e566bab", "title": "CalVer is just better", "url": "https://ooo-yay.com/blog/calver-is-just-better", "published_at": "2026-06-21T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf56f19b6b8", "title": "Are we (re-)approaching the year of applications on the desktop?", "url": "https://ooo-yay.com/blog/are-we-re-approaching-the-year-of-applications-on-the-desktop", "published_at": "2026-06-20T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf56f369109", "title": "I dumped Cursor", "url": "https://ooo-yay.com/blog/i-dumped-cursor", "published_at": "2026-06-18T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf5702731eb", "title": "Budgeting with Claude", "url": "https://ooo-yay.com/blog/budgeting-with-claude", "published_at": "2026-06-08T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf570d39c61", "title": "Engineering culture matters more than ever", "url": "https://ooo-yay.com/blog/engineering-culture-matters-more-than-ever", "published_at": "2026-05-16T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf5714af36f", "title": "Warrant: a shared work queue for agents and humans", "url": "https://ooo-yay.com/blog/warrant-a-shared-work-queue-for-agents-and-humans", "published_at": "2026-03-20T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf571b5d6d3", "title": "You can't automate what you don't understand", "url": "https://ooo-yay.com/blog/ai-is-automation", "published_at": "2026-01-31T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf572970284", "title": "I made my own IRC client", "url": "https://ooo-yay.com/blog/i-made-my-own-irc-client", "published_at": "2026-01-04T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf5735a9c99", "title": "How I design systems", "url": "https://ooo-yay.com/blog/how-i-design-systems", "published_at": "2025-12-31T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf573d95f03", "title": "Introducing lan.events", "url": "https://ooo-yay.com/blog/introducing-lan-events", "published_at": "2025-12-21T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf574d31d31", "title": "Building my own personal assistant", "url": "https://ooo-yay.com/blog/building-my-own-personal-assistant", "published_at": "2025-11-02T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf575b269d0", "title": "Open source and monetization", "url": "https://ooo-yay.com/blog/open-source-and-monetization", "published_at": "2025-08-14T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf5761eee18", "title": "Back to a static site", "url": "https://ooo-yay.com/blog/back-to-a-static-site", "published_at": "2025-08-11T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf5771653e4", "title": "Migrating to SSR and source availability", "url": "https://ooo-yay.com/blog/migrating-to-ssr-and-source-availability", "published_at": "2025-06-02T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf577e42134", "title": "Building my own Markdown editor", "url": "https://ooo-yay.com/blog/building-my-own-markdown-editor", "published_at": "2025-04-26T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf57870b504", "title": "2025 roadmap", "url": "https://ooo-yay.com/blog/2025-roadmap", "published_at": "2025-04-17T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf579140782", "title": "Using an LLM to code: six month update", "url": "https://ooo-yay.com/blog/using-an-llm-to-code-six-month-update", "published_at": "2025-04-13T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf579ef837e", "title": "Server-client wire-compatibility guarantees", "url": "https://ooo-yay.com/blog/server-client-wire-compatibility-guarantees", "published_at": "2024-12-04T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf57ae6d85a", "title": "Defensive programming in Python", "url": "https://ooo-yay.com/blog/defensive-programming-in-python", "published_at": "2024-11-19T00:00:00+00:00" }, { "id": "01a087b9-6f72-72cb-a1cc-daf57bd209bb", "title": "November website updates", "url": "https://ooo-yay.com/blog/november-website-updates", "published_at": "2024-11-02T00:00:00+00:00" }, { "id": "01a087b9-6f73-7296-b64f-652e238ca586", "title": "How AI tools are democratizing software development", "url": "https://ooo-yay.com/blog/ai-could-be-the-undoing-of-corporate-dominance", "published_at": "2024-10-13T00:00:00+00:00" }, { "id": "01a087b9-6f73-7296-b64f-652e23b36093", "title": "October website updates", "url": "https://ooo-yay.com/blog/october-website-updates", "published_at": "2024-10-08T00:00:00+00:00" }, { "id": "01a087b9-6f73-7296-b64f-652e247dbb9b", "title": "I wrote a file manager", "url": "https://ooo-yay.com/blog/i-wrote-a-file-manager", "published_at": "2024-09-29T00:00:00+00:00" }, { "id": "01a087b9-6f73-7296-b64f-652e24bf3f10", "title": "Using Pydantic Settings with Django and Django Ninja", "url": "https://ooo-yay.com/blog/using-pydantic-settings-with-django-and-django-ninja", "published_at": "2024-09-08T00:00:00+00:00" }, { "id": "01a087b9-6f73-7296-b64f-652e2556557d", "title": "Forever projects", "url": "https://ooo-yay.com/blog/forever-projects", "published_at": "2024-09-01T00:00:00+00:00" } ] posts Claim your blog
Back to ooo-yay.com
Blog · corpus.blog/blogs/ooo-yay.com/posts

ooo-yay.com

ooo-yay.com

2026

2025

2024