<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on Mad Blog</title><link>/</link><description>Recent content in Home on Mad Blog</description><generator>Hugo -- gohugo.io</generator><language>en-gb</language><managingEditor>madking.direct@gmail.com (Mad King)</managingEditor><webMaster>madking.direct@gmail.com (Mad King)</webMaster><lastBuildDate>Sat, 30 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml"/><item><title>Keeping the Spark Cool: A Tale of Two Nodes and a British Summer</title><link>/posts/keeping-the-spark-cool/</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><author>madking.direct@gmail.com (Mad King)</author><guid>/posts/keeping-the-spark-cool/</guid><description>&lt;p&gt;You know it&amp;rsquo;s a proper British summer when the Met Office is issuing records and your DIY rack build is sweating.&lt;/p&gt;
&lt;p&gt;Turns out &lt;strong&gt;Tuesday 26 May 2026&lt;/strong&gt; is officially the hottest May day ever recorded in the UK. &lt;strong&gt;35.1°C&lt;/strong&gt; at Kew Gardens in London. The day before had already broken the previous record (34.8°C, also Kew Gardens), making it the second consecutive day the May and spring temperature record was provisionally shattered. Parts of Britain hit heatwave thresholds — the kind of temperatures we normally associate with mid-July, not the end of May.&lt;/p&gt;</description></item><item><title>Why Token Maxing is a Garbage Metric for Developer Productivity</title><link>/posts/token-maxing-productivity/</link><pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate><author>madking.direct@gmail.com (Mad King)</author><guid>/posts/token-maxing-productivity/</guid><description>&lt;p&gt;There&amp;rsquo;s a new metric creeping into some engineering orgs, dressed up in fancy AI vocabulary: &lt;em&gt;token count&lt;/em&gt;. The idea sounds seductive at first glance — if developers are using AI coding assistants, why not measure how many tokens they generate? More tokens = more output. It&amp;rsquo;s just basic numbers, right?&lt;/p&gt;
&lt;p&gt;Wrong. It&amp;rsquo;s one of the worst productivity metrics you can imagine, and it has a long, embarrassing lineage.&lt;/p&gt;
&lt;h2 id="the-ghost-of-lines-of-code-past"&gt;The Ghost of Lines of Code Past&lt;/h2&gt;
&lt;p&gt;Let&amp;rsquo;s be clear — this isn&amp;rsquo;t new. &amp;ldquo;Lines of code&amp;rdquo; (LOC) has been the go-to misguided productivity metric for decades. And every senior engineer will tell you the same thing: &lt;strong&gt;it&amp;rsquo;s garbage.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Unboxing the NVIDIA DGX Spark: An AI Supercomputer on My Desk</title><link>/posts/unboxing-the-dgx-spark/</link><pubDate>Sat, 14 Mar 2026 00:00:00 +0000</pubDate><author>madking.direct@gmail.com (Mad King)</author><guid>/posts/unboxing-the-dgx-spark/</guid><description>&lt;p&gt;The box arrived yesterday. It&amp;rsquo;s smaller than I expected — a square package that sits comfortably on the corner of my desk, next to my keyboard. Inside was the DGX Spark, and a few accessories.&lt;/p&gt;
&lt;p&gt;&lt;img src="/images/spark-unboxing.jpg" alt="DGX Spark unboxing"&gt;&lt;/p&gt;
&lt;p&gt;Not a lot. Because the magic isn&amp;rsquo;t in the accessories. It&amp;rsquo;s in what&amp;rsquo;s inside that white, minimalist case.&lt;/p&gt;
&lt;h2 id="what-is-the-dgx-spark"&gt;What Is the DGX Spark?&lt;/h2&gt;
&lt;p&gt;NVIDIA calls it &amp;ldquo;an AI supercomputer on your desk.&amp;rdquo; That&amp;rsquo;s not entirely marketing hyperbole. This is a purpose-built desktop AI workstation powered by the &lt;strong&gt;NVIDIA GB10 Grace Blackwell Superchip&lt;/strong&gt; — a 20-core ARM processor with a custom NVIDIA GPU, all sitting on a single chip.&lt;/p&gt;</description></item><item><title>Setting Up a Hugo Blog on Netlify (The Easy Way)</title><link>/posts/setting-up-netlify-for-hugo/</link><pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate><author>madking.direct@gmail.com (Mad King)</author><guid>/posts/setting-up-netlify-for-hugo/</guid><description>&lt;p&gt;In my last post I walked through hosting a Hugo blog on AWS S3 with CloudFront. It works, but let&amp;rsquo;s be honest — it&amp;rsquo;s a lot of moving parts. S3 bucket, CloudFront distribution, IAM policies, DNS records, cache invalidation. If your blog is the only thing on the line, that&amp;rsquo;s a fair bit of overhead.&lt;/p&gt;
&lt;p&gt;A few people asked whether there&amp;rsquo;s a simpler way. There is.&lt;/p&gt;
&lt;p&gt;This post covers hosting the same Hugo blog on Netlify — the zero-config, free HTTPS, push-to-deploy alternative.&lt;/p&gt;</description></item><item><title>Setting Up a Hugo Blog on AWS S3 with Custom Domain</title><link>/posts/setting-up-s3-web-server/</link><pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate><author>madking.direct@gmail.com (Mad King)</author><guid>/posts/setting-up-s3-web-server/</guid><description>&lt;p&gt;This guide walks through setting up a Hugo blog on AWS S3 with a custom domain — perfect for your personal blog or portfolio.&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;Here&amp;rsquo;s the pipeline we&amp;rsquo;ll set up:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Markdown → Hugo Build → S3 Static Host → CloudFront CDN → blog.example.com
&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Hugo&lt;/strong&gt; generates static HTML from markdown&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;S3&lt;/strong&gt; hosts the files as a static website&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CloudFront&lt;/strong&gt; provides caching, HTTPS, and better performance&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ionos DNS&lt;/strong&gt; routes your subdomain to CloudFront&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Hugo installed&lt;/li&gt;
&lt;li&gt;AWS account with access to S3 and CloudFront&lt;/li&gt;
&lt;li&gt;Domain/subdomain in Ionos (e.g., &lt;code&gt;blog.example.com&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="step-1-build-your-hugo-site"&gt;Step 1: Build Your Hugo Site&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /workspace/hugo-blog
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo --minify
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This generates a &lt;code&gt;public/&lt;/code&gt; directory with all static files.&lt;/p&gt;</description></item><item><title>My First Post</title><link>/posts/first-post/</link><pubDate>Sat, 17 Jan 2026 00:00:00 +0000</pubDate><author>madking.direct@gmail.com (Mad King)</author><guid>/posts/first-post/</guid><description>&lt;p&gt;This is my first blog post, written in Markdown and generated with Hugo.&lt;/p&gt;
&lt;h2 id="why-hugo"&gt;Why Hugo?&lt;/h2&gt;
&lt;p&gt;Hugo is a fast, flexible static site generator. It lets me write in plain Markdown and produces static HTML that can be hosted anywhere — including &lt;a href="https://aws.amazon.com/s3/"&gt;AWS S3&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="how-it-works"&gt;How It Works&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Write content in Markdown (&lt;code&gt;content/en/posts/*.md&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;hugo --minify&lt;/code&gt; to build&lt;/li&gt;
&lt;li&gt;Deploy to Netlify&lt;/li&gt;
&lt;li&gt;Done!&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="example-code"&gt;Example Code&lt;/h2&gt;
&lt;p&gt;Here is a Python snippet:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;hello&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Hello from my Hugo blog!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; Post &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; live&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And a Bash example:&lt;/p&gt;</description></item><item><title>About</title><link>/pages/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>madking.direct@gmail.com (Mad King)</author><guid>/pages/about/</guid><description>&lt;h2 id="about-this-blog"&gt;About This Blog&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m a professional engineer by training, but the majority of what I know wasn&amp;rsquo;t taught to me in a classroom. I learned by building things — and by breaking them, and then figuring out why they broke. It&amp;rsquo;s called life experience.&lt;/p&gt;
&lt;p&gt;The kind of engineering that gets measured on a resume — degrees, titles, years of experience — it doesn&amp;rsquo;t mean much if you can&amp;rsquo;t deploy something that works. The kind that matters is the kind you build yourself: a server you configured from scratch, an API that handles real traffic, a pipeline that turns code into a live service without someone holding your hand. This blog is about that second kind of learning. The self-taught kind. The kind that doesn&amp;rsquo;t come from a syllabus but from curiosity, stubbornness, and the willingness to spend three hours debugging something that turns out to be a typo.&lt;/p&gt;</description></item><item><title>Projects</title><link>/pages/projects/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>madking.direct@gmail.com (Mad King)</author><guid>/pages/projects/</guid><description>&lt;p&gt;This section is under construction.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve got a few things in the works — they&amp;rsquo;ll be here when they&amp;rsquo;re ready.&lt;/p&gt;</description></item></channel></rss>