<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>Owen's Blog</title>
<author>Owen</author>
<link>index.xml</link>
<lastBuildDate>18 Apr 26 23:07 +0200</lastBuildDate>
<description>Owen's Blog</description>
	<item>
		<title>Hello, world!</title>
		<link>index.xml</link>
		<pubDate>18 Apr 26 21:44 +0200</pubDate>
		<guid>index.xml/2026-04-17_hello-world</guid>
		<category>blabber</category>
		<description><![CDATA[<p>Hello, world!</p>
]]></description>
	</item>
	<item>
		<title>Welcome to RSS Club</title>
		<link>index.xml</link>
		<pubDate>18 Apr 26 21:44 +0200</pubDate>
		<guid>index.xml/2026-04-18_welcome-to-rss-club</guid>
		<category>blabber</category>
		<description><![CDATA[<p>I suppose this was somewhat inevitable. In the end, I saw <a href="https://rss.oval.co.za/share/12891b01a26eeba62e2a56be849d2f99d47b40e7">Terence Eden&rsquo;s blog post </a> (I cheated for reference sake - you can&rsquo;t usually read it outside of an RSS reader) on <a href="https://daverupert.com/2018/01/welcome-to-rss-club/">RSS Club</a> and just felt the self-inflicted pressure of blog/brand perfection, static site generators and opinionated JavaScript frameworks, melt away. It&rsquo;s a no-brainer - going vanilla HTML isn&rsquo;t much fun, and this way styling is still (relatively) in the eye of the beholder (Personally, I swear by Miniflux for minimal goodness).</p>

<p>The net result is this, as you read it. If you&rsquo;re reading this, you&rsquo;re either still using RSS or you&rsquo;re a sucker for parsing XML with your eyes. I set this all up on my phone - the joys of parenthood - with a fair chunk of frustration, but also a lot of joy. I&rsquo;m free to write some shit, and whoever chooses to read it needs to go a little further to do so. Seems good to me.</p>

<p>I&rsquo;ll get into the stack/setup in another post. But this time not from my phone. Markdown is weird on a mobile keyboard.</p>
]]></description>
	</item>
	<item>
		<title>Stack</title>
		<link>index.xml</link>
		<pubDate>18 Apr 26 22:31 +0200</pubDate>
		<guid>index.xml/2026-04-18_stack</guid>
		<category>tech</category>
		<description><![CDATA[<h2>So what&rsquo;s running this thing?</h2>

<p>kk so it&rsquo;s all just CloudFront and S3, but the magic is just <a href="https://github.com/TimoKats/mdrss">mdrss</a> and <a href="https://lefthook.dev/">lefthook</a>.</p>

<p>My <code>lefthook.yaml</code> looks like this, at time of writing:</p>

<pre><code class="language-yaml">pre-commit:
  parallel: true
  commands:
    mdrss-update:
      run: mdrss update &amp;&amp; git add public/
      glob: &quot;markdown/**/*.md&quot;

pre-push:
  parallel: true
  commands:
    deploy-prod:
      only:
        - ref: main
      run: aws s3 sync public/ s3://oval.co.za-073653558623-af-south-1-an/ --region af-south-1 --delete
    invalidate-prod:
      only:
        - ref: main
      run: aws cloudfront create-invalidation --distribution-id E1CWQPMZT6JB9X --paths &quot;/*&quot;
    deploy-staging:
      skip:
        - ref: main
      run: aws s3 sync public/ s3://staging.oval.co.za-073653558623-af-south-1-an/ --region af-south-1 --delete
    invalidate-staging:
      skip:
        - ref: main
      run: aws cloudfront create-invalidation --distribution-id d14s5w4erp0kqk --paths &quot;/*&quot;
</code></pre>

<p>So it&rsquo;s relatively simple and just gets out of the way. I use mise to make it easier to run particular versions of those tools, and the rest is pretty straightforward. Thank you for attending my TED talk.</p>
]]></description>
	</item>
</channel>
</rss>
