<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://blog.pwm.gg/feed.xml" rel="self" type="application/atom+xml" /><link href="https://blog.pwm.gg/" rel="alternate" type="text/html" /><updated>2026-06-24T23:37:46+00:00</updated><id>https://blog.pwm.gg/feed.xml</id><title type="html">Paul’s Tech Blog</title><subtitle>A tech blog about software engineering, infrastructure and AI.</subtitle><author><name>Paul Mooring</name></author><entry><title type="html">New blog, welcome</title><link href="https://blog.pwm.gg/2026/06/24/new-blog/" rel="alternate" type="text/html" title="New blog, welcome" /><published>2026-06-24T19:00:00+00:00</published><updated>2026-06-24T19:00:00+00:00</updated><id>https://blog.pwm.gg/2026/06/24/new-blog</id><content type="html" xml:base="https://blog.pwm.gg/2026/06/24/new-blog/"><![CDATA[<h1 id="welcome">Welcome!</h1>

<p>Hello, probably just move on past this post.  I’m setting up a new blog to capture some thoughts on Infrastructure and SRE work, software development and how AI is changing these fields.  This is just a place holder because I want to get my theme dialed in.</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">def</span> <span class="nf">hello_world</span><span class="p">(</span><span class="n">message</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
  <span class="k">print</span><span class="p">(</span><span class="s">"Hello from a code block: {}"</span><span class="p">.</span><span class="nb">format</span><span class="p">(</span><span class="n">message</span><span class="p">))</span>

  <span class="k">return</span> <span class="mi">0</span>
</code></pre></div></div>

<p>That’s a code block, markdown can render those! Also can it do mathjax?</p>

\[f(x) = \frac{1}{(1 + e^{-x})}\]

<p>We’ll see…</p>]]></content><author><name>Paul Mooring</name></author><category term="meta" /><category term="meta" /><category term="jekyll" /><summary type="html"><![CDATA[A first test post to set up a new blog.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.pwm.gg/assets/images/cover-infra.svg" /><media:content medium="image" url="https://blog.pwm.gg/assets/images/cover-infra.svg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Theme features at a glance</title><link href="https://blog.pwm.gg/2026/06/23/theme-features/" rel="alternate" type="text/html" title="Theme features at a glance" /><published>2026-06-23T16:00:00+00:00</published><updated>2026-06-23T16:00:00+00:00</updated><id>https://blog.pwm.gg/2026/06/23/theme-features</id><content type="html" xml:base="https://blog.pwm.gg/2026/06/23/theme-features/"><![CDATA[<p>This is a sample post — delete it once you’ve seen the theme in action. Every
post gets a <strong>cover image</strong> (set with <code class="language-plaintext highlighter-rouge">image:</code> in the front matter, falling back
to a default), an author bio, and related posts below.</p>

<h2 id="typography">Typography</h2>

<p>Body text is set in Inter; headings use Space Grotesk. You get <strong>bold</strong>,
<em>italic</em>, <code class="language-plaintext highlighter-rouge">inline code</code>, and <a href="https://jekyllrb.com/">links</a> that follow the
accent color in both light and dark mode.</p>

<blockquote>
  <p>Pull quotes and asides get an accent rule down the side. Handy for the line
you want readers to remember.</p>
</blockquote>

<h2 id="syntax-highlighting">Syntax highlighting</h2>

<p>Hover a code block to reveal a <strong>Copy</strong> button.</p>

<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Debounce — delay a call until input settles</span>
<span class="kd">const</span> <span class="nx">debounce</span> <span class="o">=</span> <span class="p">(</span><span class="nx">fn</span><span class="p">,</span> <span class="nx">ms</span> <span class="o">=</span> <span class="mi">200</span><span class="p">)</span> <span class="o">=&gt;</span> <span class="p">{</span>
  <span class="kd">let</span> <span class="nx">t</span><span class="p">;</span>
  <span class="k">return</span> <span class="p">(...</span><span class="nx">args</span><span class="p">)</span> <span class="o">=&gt;</span> <span class="p">{</span>
    <span class="nx">clearTimeout</span><span class="p">(</span><span class="nx">t</span><span class="p">);</span>
    <span class="nx">t</span> <span class="o">=</span> <span class="nx">setTimeout</span><span class="p">(()</span> <span class="o">=&gt;</span> <span class="nx">fn</span><span class="p">(...</span><span class="nx">args</span><span class="p">),</span> <span class="nx">ms</span><span class="p">);</span>
  <span class="p">};</span>
<span class="p">};</span>
</code></pre></div></div>

<h2 id="tables-and-lists">Tables and lists</h2>

<table>
  <thead>
    <tr>
      <th>Feature</th>
      <th style="text-align: center">Included</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Cover images</td>
      <td style="text-align: center">✓</td>
    </tr>
    <tr>
      <td>Dark mode</td>
      <td style="text-align: center">✓</td>
    </tr>
    <tr>
      <td>Related posts</td>
      <td style="text-align: center">✓</td>
    </tr>
    <tr>
      <td>RSS + SEO</td>
      <td style="text-align: center">✓</td>
    </tr>
  </tbody>
</table>

<ol>
  <li>Numbered lists</li>
  <li>work as expected
    <ul>
      <li>and nest</li>
      <li>cleanly</li>
    </ul>
  </li>
</ol>

<p>That’s the tour. Set your details in <code class="language-plaintext highlighter-rouge">_config.yml</code>, drop covers in
<code class="language-plaintext highlighter-rouge">assets/images/</code>, and start writing.</p>]]></content><author><name>Paul Mooring</name></author><category term="meta" /><category term="meta" /><category term="design" /><summary type="html"><![CDATA[A demo post showing cover images, syntax highlighting, callouts, and the bits this theme ships with. Safe to delete.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.pwm.gg/assets/images/cover-ai.svg" /><media:content medium="image" url="https://blog.pwm.gg/assets/images/cover-ai.svg" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>