41554 blogs · [ { "id": "01a0876f-00af-72d3-8ec9-9bca16540c98", "title": "Breaking Evil", "url": "https://dotmavriq.life/blog/breaking-evil", "published_at": "2026-08-20T15:30:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1676842d", "title": "Serving the fediverse from memory", "url": "https://dotmavriq.life/blog/serving-the-fediverse-from-memory", "published_at": "2026-08-20T13:56:26+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca17448c9e", "title": "What building it corrected", "url": "https://dotmavriq.life/blog/what-building-it-corrected", "published_at": "2026-08-11T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca17636121", "title": "The horrors persist, but so do we", "url": "https://dotmavriq.life/blog/the-horrors-persist-but-so-do-we", "published_at": "2026-07-28T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1790f99a", "title": "Locking the decisions", "url": "https://dotmavriq.life/blog/locking-the-decisions", "published_at": "2026-07-24T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1870b205", "title": "Five borrowed ideas, and where they collide", "url": "https://dotmavriq.life/blog/five-borrowed-ideas", "published_at": "2026-06-11T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca195dac8f", "title": "\"AI\" - A Retrospective, Part III: Where the Leverage Is Now", "url": "https://dotmavriq.life/blog/ai-a-retrospective-part-3", "published_at": "2026-05-17T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca19aee030", "title": "State of WordPress 2026", "url": "https://dotmavriq.life/blog/wordpress-platform-engineering-2026", "published_at": "2026-04-30T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca19b5bbfd", "title": "I Want to Get Off Mr. LinkedIn's Wild Ride", "url": "https://dotmavriq.life/blog/i-want-to-get-off-mr-linkedins-wild-ride", "published_at": "2026-04-19T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1a0fca7d", "title": "\"AI\" - A Retrospective, Part II: The Confidence Game", "url": "https://dotmavriq.life/blog/ai-a-retrospective-part-2", "published_at": "2026-04-17T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1a2c70c9", "title": "Picking a runtime: OpenResty and LuaJIT", "url": "https://dotmavriq.life/blog/picking-a-runtime", "published_at": "2026-04-16T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1aaa68b6", "title": "\"AI\" - A Retrospective, Part I: Genealogy", "url": "https://dotmavriq.life/blog/ai-a-retrospective", "published_at": "2026-04-16T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1b509674", "title": "Model Context Protocol", "url": "https://dotmavriq.life/blog/model-context-protocol", "published_at": "2026-02-24T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1bf4f480", "title": "Why I am building another one", "url": "https://dotmavriq.life/blog/why-another-cms", "published_at": "2026-02-05T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1c0c7502", "title": "State of the Browsers in 2026", "url": "https://dotmavriq.life/blog/state-of-the-browsers-in-2026", "published_at": "2026-01-17T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1cd43813", "title": "Replacing Spotify", "url": "https://dotmavriq.life/blog/leaving-spotify", "published_at": "2025-12-11T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1d753f22", "title": "What actually makes a CMS slow", "url": "https://dotmavriq.life/blog/what-makes-a-cms-slow", "published_at": "2025-11-13T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1da419db", "title": "Hooks, plugins, and the price of extensibility", "url": "https://dotmavriq.life/blog/the-price-of-extensibility", "published_at": "2025-09-04T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1e9e5095", "title": "200,000 Hours of Your Life", "url": "https://dotmavriq.life/blog/ergonomics", "published_at": "2025-07-28T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1eac8949", "title": "The API first generation", "url": "https://dotmavriq.life/blog/api-first-generation", "published_at": "2025-06-26T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1f8d7953", "title": "Flat file CMSes and what they got right", "url": "https://dotmavriq.life/blog/flat-file-cmses", "published_at": "2025-05-08T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca1fbd0960", "title": "Cognitive Load Theory", "url": "https://dotmavriq.life/blog/cognitive-load-theory", "published_at": "2025-04-04T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca20995cc5", "title": "The static site generator detour", "url": "https://dotmavriq.life/blog/the-ssg-detour", "published_at": "2025-03-13T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca2189d4b4", "title": "Headless, decoupled, and what the words are doing", "url": "https://dotmavriq.life/blog/what-headless-means", "published_at": "2025-01-23T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca22062996", "title": "Templates, themes, and the coupling nobody questioned", "url": "https://dotmavriq.life/blog/templates-and-coupling", "published_at": "2024-11-28T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca2252ef31", "title": "Who is allowed to publish", "url": "https://dotmavriq.life/blog/who-is-allowed-to-publish", "published_at": "2024-10-10T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca233cfef7", "title": "The body problem", "url": "https://dotmavriq.life/blog/the-body-problem", "published_at": "2024-08-22T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca23c03922", "title": "The content model, and why schemas turned up", "url": "https://dotmavriq.life/blog/the-content-model", "published_at": "2024-07-04T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca23e29335", "title": "Where content lives, and the database assumption", "url": "https://dotmavriq.life/blog/where-content-lives", "published_at": "2024-05-23T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca24442b36", "title": "The smallest thing that is still a CMS", "url": "https://dotmavriq.life/blog/smallest-cms", "published_at": "2024-04-11T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca2450f621", "title": "Where the term CMS actually came from", "url": "https://dotmavriq.life/blog/origin-of-the-term", "published_at": "2024-02-29T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca249ffa42", "title": "PHP in 2024", "url": "https://dotmavriq.life/blog/php-in-2024", "published_at": "2024-02-01T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca25881a4b", "title": "Content management before anyone said content management", "url": "https://dotmavriq.life/blog/before-the-web", "published_at": "2024-01-18T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca26200b4d", "title": "The Case for a Commonplace Notebook", "url": "https://dotmavriq.life/blog/the-case-for-a-commonplace-notebook", "published_at": "2024-01-10T09:00:00+00:00" }, { "id": "01a0876f-00af-72d3-8ec9-9bca26c520b9", "title": "Structured Notes for Developers", "url": "https://dotmavriq.life/blog/structured-journaling-for-developers", "published_at": "2024-01-03T09:00:00+00:00" } ] posts Claim your blog
Back to dotmavriq.life
Blog · corpus.blog/blogs/dotmavriq.life/posts

dotmavriq.life

dotmavriq.life

2026

2025

2024