<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>dotMavriQ Blog</title><description>Articles, notes &amp; deep dives by dotMavriQ</description><link>https://dotmavriq.life/</link><item><title>Breaking Evil</title><link>https://dotmavriq.life/blog/breaking-evil</link><guid isPermaLink="true">https://dotmavriq.life/blog/breaking-evil</guid><description>Walter White explains the strategy in one line in season two. Google has been running it on Android for fifteen years, and this September it starts collecting.</description><pubDate>Thu, 20 Aug 2026 15:30:00 GMT</pubDate><category>digital-freedom</category><category>architecture</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Serving the fediverse from memory</title><link>https://dotmavriq.life/blog/serving-the-fediverse-from-memory</link><guid isPermaLink="true">https://dotmavriq.life/blog/serving-the-fediverse-from-memory</guid><description>A page that shows my fediverse posts, why it is filtered the way it is, and the rebuild that took it from a browser fetching my server on every visit to an archive held in memory.</description><pubDate>Thu, 20 Aug 2026 13:56:26 GMT</pubDate><category>engineering</category><category>digital-freedom</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>What building it corrected</title><link>https://dotmavriq.life/blog/what-building-it-corrected</link><guid isPermaLink="true">https://dotmavriq.life/blog/what-building-it-corrected</guid><description>A dozen places where the implementation disagreed with the specification, and what each of them taught.</description><pubDate>Tue, 11 Aug 2026 09:00:00 GMT</pubDate><category>lagomcms</category><category>engineering</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>The horrors persist, but so do we</title><link>https://dotmavriq.life/blog/the-horrors-persist-but-so-do-we</link><guid isPermaLink="true">https://dotmavriq.life/blog/the-horrors-persist-but-so-do-we</guid><description>The 2026 Portuguese tech talent report, the funnel that is left once you filter real openings through real constraints, and why the job market got precarious in a way the AI discourse still refuses to price in.</description><pubDate>Tue, 28 Jul 2026 09:00:00 GMT</pubDate><category>ai</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Locking the decisions</title><link>https://dotmavriq.life/blog/locking-the-decisions</link><guid isPermaLink="true">https://dotmavriq.life/blog/locking-the-decisions</guid><description>The point where a design stops being a set of options. What got decided, and what got rejected on purpose.</description><pubDate>Fri, 24 Jul 2026 09:00:00 GMT</pubDate><category>lagomcms</category><category>design</category><category>architecture</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Five borrowed ideas, and where they collide</title><link>https://dotmavriq.life/blog/five-borrowed-ideas</link><guid isPermaLink="true">https://dotmavriq.life/blog/five-borrowed-ideas</guid><description>Taking storage from Kirby, structure from Sanity, model as code from Payload, hooks from WordPress and reload from Neovim. Four of them fight.</description><pubDate>Thu, 11 Jun 2026 09:00:00 GMT</pubDate><category>lagomcms</category><category>design</category><category>architecture</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>&quot;AI&quot; - A Retrospective, Part III: Where the Leverage Is Now</title><link>https://dotmavriq.life/blog/ai-a-retrospective-part-3</link><guid isPermaLink="true">https://dotmavriq.life/blog/ai-a-retrospective-part-3</guid><description>The practical end of the series: the productivity gains that are real, the traps that remain, and how serious developers should use LLMs now.</description><pubDate>Sun, 17 May 2026 09:00:00 GMT</pubDate><category>ai</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>State of WordPress 2026</title><link>https://dotmavriq.life/blog/wordpress-platform-engineering-2026</link><guid isPermaLink="true">https://dotmavriq.life/blog/wordpress-platform-engineering-2026</guid><description>PHP-native blocks in 7.0, a talent pipeline that is quietly drying up, and what it actually takes to run WordPress at scale in 2026.</description><pubDate>Thu, 30 Apr 2026 09:00:00 GMT</pubDate><category>wordpress</category><category>php</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>I Want to Get Off Mr. LinkedIn&apos;s Wild Ride</title><link>https://dotmavriq.life/blog/i-want-to-get-off-mr-linkedins-wild-ride</link><guid isPermaLink="true">https://dotmavriq.life/blog/i-want-to-get-off-mr-linkedins-wild-ride</guid><description>LinkedIn is still where software work happens, which is the part that hurts. A short essay on the panopticon logic of professional networking, why nobody has replaced it, and the people who have at least tried.</description><pubDate>Sun, 19 Apr 2026 09:00:00 GMT</pubDate><category>digital-freedom</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>&quot;AI&quot; - A Retrospective, Part II: The Confidence Game</title><link>https://dotmavriq.life/blog/ai-a-retrospective-part-2</link><guid isPermaLink="true">https://dotmavriq.life/blog/ai-a-retrospective-part-2</guid><description>The models are useful. The marketing around them is not honest. This is the part about confident wrongness, fear-driven hype, captured voices, and the surveillance bargain behind mass-market LLMs.</description><pubDate>Fri, 17 Apr 2026 09:00:00 GMT</pubDate><category>ai</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>&quot;AI&quot; - A Retrospective, Part I: Genealogy</title><link>https://dotmavriq.life/blog/ai-a-retrospective</link><guid isPermaLink="true">https://dotmavriq.life/blog/ai-a-retrospective</guid><description>A working genealogy of the consumer LLM wave: the releases that hit the scene, how they were received, and what I actually used them for.</description><pubDate>Thu, 16 Apr 2026 09:00:00 GMT</pubDate><category>ai</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Picking a runtime: OpenResty and LuaJIT</title><link>https://dotmavriq.life/blog/picking-a-runtime</link><guid isPermaLink="true">https://dotmavriq.life/blog/picking-a-runtime</guid><description>Why the CMS runs inside nginx, what LuaJIT&apos;s FFI makes possible, and the parts of the Lua ecosystem that are missing.</description><pubDate>Thu, 16 Apr 2026 09:00:00 GMT</pubDate><category>lagomcms</category><category>engineering</category><category>architecture</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Model Context Protocol</title><link>https://dotmavriq.life/blog/model-context-protocol</link><guid isPermaLink="true">https://dotmavriq.life/blog/model-context-protocol</guid><description>What MCP is, where I used it, where it bites, and the rule I ended up with.</description><pubDate>Tue, 24 Feb 2026 09:00:00 GMT</pubDate><category>ai</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Why I am building another one</title><link>https://dotmavriq.life/blog/why-another-cms</link><guid isPermaLink="true">https://dotmavriq.life/blog/why-another-cms</guid><description>The gap I keep running into, and the argument for adding one more CMS to a crowded field.</description><pubDate>Thu, 05 Feb 2026 09:00:00 GMT</pubDate><category>lagomcms</category><category>design</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>State of the Browsers in 2026</title><link>https://dotmavriq.life/blog/state-of-the-browsers-in-2026</link><guid isPermaLink="true">https://dotmavriq.life/blog/state-of-the-browsers-in-2026</guid><description>I wanted to stay a Firefox person. The web kept punishing me for it, and eventually I stopped pretending I was holding the line.</description><pubDate>Sat, 17 Jan 2026 09:00:00 GMT</pubDate><category>digital-freedom</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Replacing Spotify</title><link>https://dotmavriq.life/blog/leaving-spotify</link><guid isPermaLink="true">https://dotmavriq.life/blog/leaving-spotify</guid><description>After a decade of streaming, I bought a DAP and started syncing FLACs from my own library.</description><pubDate>Thu, 11 Dec 2025 09:00:00 GMT</pubDate><category>digital-freedom</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>What actually makes a CMS slow</title><link>https://dotmavriq.life/blog/what-makes-a-cms-slow</link><guid isPermaLink="true">https://dotmavriq.life/blog/what-makes-a-cms-slow</guid><description>Not the database, usually. A look at where the time really goes, and why caching became the whole industry.</description><pubDate>Thu, 13 Nov 2025 09:00:00 GMT</pubDate><category>lagomcms</category><category>architecture</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Hooks, plugins, and the price of extensibility</title><link>https://dotmavriq.life/blog/the-price-of-extensibility</link><guid isPermaLink="true">https://dotmavriq.life/blog/the-price-of-extensibility</guid><description>WordPress won on plugins. What the hook model actually is, what it costs, and what Neovim does differently.</description><pubDate>Thu, 04 Sep 2025 09:00:00 GMT</pubDate><category>lagomcms</category><category>wordpress</category><category>architecture</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>200,000 Hours of Your Life</title><link>https://dotmavriq.life/blog/ergonomics</link><guid isPermaLink="true">https://dotmavriq.life/blog/ergonomics</guid><description>A personal note on ergonomics, split keyboards, and the slow physical cost of a life spent at computers.</description><pubDate>Mon, 28 Jul 2025 09:00:00 GMT</pubDate><category>productivity</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>The API first generation</title><link>https://dotmavriq.life/blog/api-first-generation</link><guid isPermaLink="true">https://dotmavriq.life/blog/api-first-generation</guid><description>Contentful, Sanity, Strapi and Payload each answered the same question differently. What each of them is actually good at.</description><pubDate>Thu, 26 Jun 2025 09:00:00 GMT</pubDate><category>lagomcms</category><category>headless</category><category>cms</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Flat file CMSes and what they got right</title><link>https://dotmavriq.life/blog/flat-file-cmses</link><guid isPermaLink="true">https://dotmavriq.life/blog/flat-file-cmses</guid><description>Kirby, Statamic and Grav keep content on disk and are serious software. What that buys, and where it stops.</description><pubDate>Thu, 08 May 2025 09:00:00 GMT</pubDate><category>lagomcms</category><category>storage</category><category>cms</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Cognitive Load Theory</title><link>https://dotmavriq.life/blog/cognitive-load-theory</link><guid isPermaLink="true">https://dotmavriq.life/blog/cognitive-load-theory</guid><description>Your brain is a battery. Plan accordingly.</description><pubDate>Fri, 04 Apr 2025 09:00:00 GMT</pubDate><category>productivity</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>The static site generator detour</title><link>https://dotmavriq.life/blog/the-ssg-detour</link><guid isPermaLink="true">https://dotmavriq.life/blog/the-ssg-detour</guid><description>For about a decade the answer to a slow CMS was to remove the CMS. What that period got right, and why people came back.</description><pubDate>Thu, 13 Mar 2025 09:00:00 GMT</pubDate><category>lagomcms</category><category>history</category><category>cms</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Headless, decoupled, and what the words are doing</title><link>https://dotmavriq.life/blog/what-headless-means</link><guid isPermaLink="true">https://dotmavriq.life/blog/what-headless-means</guid><description>The word headless became a category around 2015. What it actually specifies, and what it leaves open.</description><pubDate>Thu, 23 Jan 2025 09:00:00 GMT</pubDate><category>lagomcms</category><category>headless</category><category>architecture</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Templates, themes, and the coupling nobody questioned</title><link>https://dotmavriq.life/blog/templates-and-coupling</link><guid isPermaLink="true">https://dotmavriq.life/blog/templates-and-coupling</guid><description>For twenty years a CMS shipped its own rendering layer. That decision shaped everything else, including who could work on a site.</description><pubDate>Thu, 28 Nov 2024 09:00:00 GMT</pubDate><category>lagomcms</category><category>first-principles</category><category>architecture</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Who is allowed to publish</title><link>https://dotmavriq.life/blog/who-is-allowed-to-publish</link><guid isPermaLink="true">https://dotmavriq.life/blog/who-is-allowed-to-publish</guid><description>Roles, permissions and editorial workflow. The part of a CMS that exists because organisations do, not because software does.</description><pubDate>Thu, 10 Oct 2024 09:00:00 GMT</pubDate><category>lagomcms</category><category>first-principles</category><category>architecture</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>The body problem</title><link>https://dotmavriq.life/blog/the-body-problem</link><guid isPermaLink="true">https://dotmavriq.life/blog/the-body-problem</guid><description>The main body of a document is the part every CMS handles differently and most handle badly. Blob, markup, or structure.</description><pubDate>Thu, 22 Aug 2024 09:00:00 GMT</pubDate><category>lagomcms</category><category>first-principles</category><category>design</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>The content model, and why schemas turned up</title><link>https://dotmavriq.life/blog/the-content-model</link><guid isPermaLink="true">https://dotmavriq.life/blog/the-content-model</guid><description>Every CMS eventually grows field definitions. Where the pressure comes from, and what it costs when the model is wrong.</description><pubDate>Thu, 04 Jul 2024 09:00:00 GMT</pubDate><category>lagomcms</category><category>first-principles</category><category>architecture</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Where content lives, and the database assumption</title><link>https://dotmavriq.life/blog/where-content-lives</link><guid isPermaLink="true">https://dotmavriq.life/blog/where-content-lives</guid><description>Almost every CMS puts content in a relational database. That is a decision, not a law, and it costs more than people notice.</description><pubDate>Thu, 23 May 2024 09:00:00 GMT</pubDate><category>lagomcms</category><category>first-principles</category><category>storage</category><category>architecture</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>The smallest thing that is still a CMS</title><link>https://dotmavriq.life/blog/smallest-cms</link><guid isPermaLink="true">https://dotmavriq.life/blog/smallest-cms</guid><description>Stripping a content management system down to the parts it cannot do without, and finding there are only four.</description><pubDate>Thu, 11 Apr 2024 09:00:00 GMT</pubDate><category>lagomcms</category><category>first-principles</category><category>cms</category><category>architecture</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Where the term CMS actually came from</title><link>https://dotmavriq.life/blog/origin-of-the-term</link><guid isPermaLink="true">https://dotmavriq.life/blog/origin-of-the-term</guid><description>The phrase content management system appears in the mid nineties, attached to server software for newspapers. What it meant then is not what it means now.</description><pubDate>Thu, 29 Feb 2024 09:00:00 GMT</pubDate><category>lagomcms</category><category>history</category><category>cms</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>PHP in 2024</title><link>https://dotmavriq.life/blog/php-in-2024</link><guid isPermaLink="true">https://dotmavriq.life/blog/php-in-2024</guid><description>PHP grew up quietly while the JavaScript ecosystem kept tearing itself apart. The language and its tooling are genuinely good now, and Laravel is the proof.</description><pubDate>Thu, 01 Feb 2024 09:00:00 GMT</pubDate><category>php</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Content management before anyone said content management</title><link>https://dotmavriq.life/blog/before-the-web</link><guid isPermaLink="true">https://dotmavriq.life/blog/before-the-web</guid><description>Document management systems predate the web by a decade. What they were for, and what the web inherited from them.</description><pubDate>Thu, 18 Jan 2024 09:00:00 GMT</pubDate><category>lagomcms</category><category>history</category><category>cms</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>The Case for a Commonplace Notebook</title><link>https://dotmavriq.life/blog/the-case-for-a-commonplace-notebook</link><guid isPermaLink="true">https://dotmavriq.life/blog/the-case-for-a-commonplace-notebook</guid><description>The one thing a Markdown vault cannot do for you, and the analog tool that handles it.</description><pubDate>Wed, 10 Jan 2024 09:00:00 GMT</pubDate><category>productivity</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item><item><title>Structured Notes for Developers</title><link>https://dotmavriq.life/blog/structured-journaling-for-developers</link><guid isPermaLink="true">https://dotmavriq.life/blog/structured-journaling-for-developers</guid><description>Habit trackers own the record and throw away the history. Daily Markdown notes, Obsidian, and a custom plugin that turns the day into data you still own.</description><pubDate>Wed, 03 Jan 2024 09:00:00 GMT</pubDate><category>productivity</category><author>dotmavriq@gmail.com (Jonatan Jansson)</author></item></channel></rss>