41554 blogs · [ { "id": "01a087bd-7ee6-7012-a371-b27e8bb1862a", "title": "Plugin Architecture Across Service Boundaries: An API Contract with Pydantic & FastAPI - Pt. 1", "url": "https://patrickm.de/plugin-architecture-across-service-boundaries-an-api-contract-with-pydantic-fastapi-pt-1/", "published_at": "2026-08-30T07:16:14+00:00" }, { "id": "01a0821d-d704-7120-bd04-e65034ebec87", "title": "Static Protocols in Python: Behaviour Over Inheritance", "url": "https://patrickm.de/static-protocols-in-python/", "published_at": "2026-01-05T09:23:00+00:00" }, { "id": "01a087bd-7ee6-7012-a371-b27e8cd735de", "title": "How to build internal developer tools with a small team", "url": "https://patrickm.de/building-internal-dev-tools/", "published_at": "2025-10-26T14:23:03+00:00" }, { "id": "01a087bd-7ee6-7012-a371-b27e8d88d359", "title": "When is a knowledge graph open or closed world? And how to create a company wide implementation strategy", "url": "https://patrickm.de/knowledge-graph-open-or-closed-world/", "published_at": "2025-10-03T14:08:04+00:00" }, { "id": "01a087bd-7ee6-7012-a371-b27e8e1e861e", "title": "The LLM Hype Train: A Pamphlet[?] You Should Read With Your Manager", "url": "https://patrickm.de/llm-hypetrain-pamphlet/", "published_at": "2025-08-30T16:09:01+00:00" }, { "id": "01a0821d-d704-7120-bd04-e6503524c351", "title": "Pytest Fixtures: How to Use & Organize them in your Test Architecture", "url": "https://patrickm.de/pytest-fixtures-how-to-use-organize-them-in-your-test-architecture/", "published_at": "2025-05-09T15:27:37+00:00" }, { "id": "01a0821d-d704-7120-bd04-e65035df63a6", "title": "How bugs made me believe in TDD", "url": "https://patrickm.de/why-tdd/", "published_at": "2025-05-02T06:30:45+00:00" }, { "id": "01a0821d-d704-7120-bd04-e65036da96b3", "title": "Why Celery Tasks trigger signals twice", "url": "https://patrickm.de/why-celery-tasks-trigger-signals-twice/", "published_at": "2025-04-17T09:26:37+00:00" }, { "id": "01a0821d-d704-7120-bd04-e650374b6de0", "title": "Pytest Fixtures: Einführung, Nutzung & Organisation in deiner Testarchitektur", "url": "https://patrickm.de/pytest-fixtures-einfuehrung/", "published_at": "2025-03-16T17:03:07+00:00" }, { "id": "01a0821d-d704-7120-bd04-e6503780a0bb", "title": "Warum ich TDD praktiziere und wie es auch dir helfen kann", "url": "https://patrickm.de/warum-tdd/", "published_at": "2025-03-09T19:09:32+00:00" }, { "id": "01a087bd-7ee6-7012-a371-b27e9128f316", "title": "Wie schreibe ich eine Cold Email?", "url": "https://patrickm.de/wie-cold-email/", "published_at": "2025-02-23T09:20:58+00:00" }, { "id": "01a087bd-7ee7-7252-8f00-7829c35fc096", "title": "Wie du das richtige SaaS-Pricing findest und Fehler vermeidest", "url": "https://patrickm.de/wie-saas-pricing/", "published_at": "2025-02-09T09:22:03+00:00" }, { "id": "01a0821d-d704-7120-bd04-e65038049791", "title": "Wieso Celery Tasks Signale doppelt triggern", "url": "https://patrickm.de/wieso-triggert-celery-signale-doppelt/", "published_at": "2025-01-12T20:12:12+00:00" } ] posts Claim your blog
Back to Patrick Müller
Blog · corpus.blog/blogs/patrickm.de/posts

Patrick Müller

patrickm.de

2026

2025