<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Liam Sherman Parris — Writing</title><description>Essays on software, delivery, maintenance, and product engineering.</description><link>https://liamshermanparris.ca/</link><language>en-ca</language><item><title>What a migration linter taught me about saying no</title><link>https://liamshermanparris.ca/writing/migration-linter/</link><guid isPermaLink="true">https://liamshermanparris.ca/writing/migration-linter/</guid><description>Guardrails work when they explain the risk and leave room for an informed exception.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Offline-first is a product decision, not a sync algorithm</title><link>https://liamshermanparris.ca/writing/offline-first/</link><guid isPermaLink="true">https://liamshermanparris.ca/writing/offline-first/</guid><description>Connectivity changes what a product can promise, not merely how its database catches up.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Boring deploys: the checklist I actually use</title><link>https://liamshermanparris.ca/writing/boring-deploys/</link><guid isPermaLink="true">https://liamshermanparris.ca/writing/boring-deploys/</guid><description>A release should be observable, reversible, and small enough to understand under pressure.</description><pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Reading old code kindly</title><link>https://liamshermanparris.ca/writing/reading-old-code-kindly/</link><guid isPermaLink="true">https://liamshermanparris.ca/writing/reading-old-code-kindly/</guid><description>Most awkward code is a fossil of a real constraint, deadline, or missing tool.</description><pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate></item></channel></rss>