<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Infodancer on Matthew Hunter</title><link>https://matthewjayhunter.com/</link><description>Recent content in Infodancer on Matthew Hunter</description><generator>Hugo</generator><language>en-us</language><copyright>Copyright © 2026 by Matthew Hunter</copyright><lastBuildDate>Mon, 31 Aug 2026 18:30:00 -0500</lastBuildDate><atom:link href="https://matthewjayhunter.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Test Before You Trust</title><link>https://matthewjayhunter.com/post/computing/test-before-you-trust/</link><pubDate>Mon, 31 Aug 2026 18:30:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/test-before-you-trust/</guid><description>&lt;p>My workstation is an AMD Strix Halo. It has an NPU, and the NPU can run an embedding model &amp;ndash; &lt;code>embed-gemma-300m-FLM&lt;/code>, served by &lt;a href="https://github.com/lemonade-sdk/lemonade">Lemonade&lt;/a>
 alongside the same model on the integrated GPU. Same weights, two runtimes. Moving embeddings to the NPU is more an experiment in using available hardware than anything else. I&amp;rsquo;ve experimented with Whisper transcription on the NPU successfully with (dicta)[]; it was acceptable, slower than the iGPU, slightly worse, but functional enough that I use it and the GPU stays free for more demanding tasks. This seemed like a natural follow up when I saw it in (Lemonade)[]&amp;rsquo;s list of NPU models.&lt;/p></description></item><item><title>Fast Is Slow, Slow Is Smooth, Smooth Is Fast</title><link>https://matthewjayhunter.com/post/computing/fast-is-slow-slow-is-smooth-smooth-is-fast/</link><pubDate>Sun, 30 Aug 2026 08:00:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/fast-is-slow-slow-is-smooth-smooth-is-fast/</guid><description>&lt;p>My D&amp;amp;D transcription pipeline got about a third faster. I did it by taking away twenty-four of the thirty-two threads it was using, and by not using the fastest GPU in the house.&lt;/p>
&lt;p>Neither of those was the plan. The plan was to throw a 5090 at it.&lt;/p>
&lt;h2 id="fast-is-slow">Fast is slow&lt;/h2>
&lt;p>I&amp;rsquo;ve &lt;a href="https://matthewjayhunter.com/post/computing/transcribing-dnd-sessions/">written before&lt;/a>
 about how the session reports get made: record the Discord audio, transcribe it with speaker labels, hand the transcript to an LLM, edit the result into narrative prose. That post described a pair of bash scripts wrapping WhisperX. Since then the scripts have been replaced by a single Go binary that does the same job without PyTorch, without a Hugging Face token, and without a Python environment to rot.&lt;/p></description></item><item><title>AAISM: ISACA's AI Security Management Credential</title><link>https://matthewjayhunter.com/post/aaism/</link><pubDate>Thu, 23 Jul 2026 08:20:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/aaism/</guid><description>&lt;p>The AAISM is ISACA&amp;rsquo;s &lt;a href="https://www.isaca.org/credentialing/aaism">Advanced in AI Security Management&lt;/a>
 credential, and &lt;em>new&lt;/em> is the word that explains most of what follows. New exam, new training materials, new subject matter that is changing faster than any of them can keep up with. I passed it in July 2026. The credential is worth holding and the training was worth buying &amp;ndash; but all of it still has the rough edges of a first edition, and the honest way to review it is as one.&lt;/p></description></item><item><title>The ISC2 AI Course Bundle</title><link>https://matthewjayhunter.com/post/reviews/courses/isc2-ai-bundle/</link><pubDate>Thu, 23 Jul 2026 08:00:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/reviews/courses/isc2-ai-bundle/</guid><description>&lt;p>ISC2 has been pushing a set of short, self-paced AI courses, and in May 2026 I bought six of them for $512. They are certificates of completion, not certifications &amp;ndash; no proctored exam, no capstone, just watch the modules and answer the questions. The content is introductory across the board, the kind of survey you could assemble yourself from a weekend of reading. What you are paying for is the ISC2 name on a transcript and a structured reason to actually sit down and think about where AI is taking the field. As a signal that a security professional is paying attention, that is worth something. As technical education, it is thin. I reviewed each course on its own; this is the overview and the buying guide.&lt;/p></description></item><item><title>AI Security: Managing Overconfidence</title><link>https://matthewjayhunter.com/post/reviews/courses/ai-security-managing-overconfidence/</link><pubDate>Thu, 23 Jul 2026 07:50:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/reviews/courses/ai-security-managing-overconfidence/</guid><description>&lt;p>&lt;em>AI Security: Managing Overconfidence&lt;/em> is one of six short AI courses I bought from ISC2 in May 2026, and it should have been the standout. The topic &amp;ndash; automation bias and over-trust in AI output &amp;ndash; is the one practitioners actually fall into, and the underlying principle is sound. What dragged it down to three stars was the opening case study: &lt;a href="https://www.bleepingcomputer.com/news/security/activision-confirms-data-breach-exposing-employee-and-game-info/">an Activision cybersecurity incident&lt;/a>
 the course implies was caused by AI.&lt;/p></description></item><item><title>AI for Cybersecurity</title><link>https://matthewjayhunter.com/post/reviews/courses/ai-for-cybersecurity/</link><pubDate>Thu, 23 Jul 2026 07:40:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/reviews/courses/ai-for-cybersecurity/</guid><description>&lt;p>&lt;em>AI for Cybersecurity&lt;/em> is one of six short AI courses I bought from ISC2 in May 2026, and at $96 it is the bundle&amp;rsquo;s best treatment of the threat model. The first third walks the AI development lifecycle in detail, with analogies to traditional software engineering methodologies &amp;ndash; because fundamentally an AI project is still a software engineering project, with the same methodologies applied differently. The second half is the attacks-and-mitigations section, and it is the most useful piece of content across the entire bundle: many attacks I had not seen before, others I had picked up only in pieces from following the field and now had explained properly, with pointers to live external resources that get updated as new attack surfaces emerge. Like the rest of the bundle, it predates the agentic wave and shows it. Even so, this is the &lt;em>one&lt;/em> to take if you want a working threat model for AI systems.&lt;/p></description></item><item><title>Aligning with Global AI Regulations</title><link>https://matthewjayhunter.com/post/reviews/courses/aligning-with-global-ai-regulations/</link><pubDate>Thu, 23 Jul 2026 07:30:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/reviews/courses/aligning-with-global-ai-regulations/</guid><description>&lt;p>&lt;em>Aligning with Global AI Regulations&lt;/em> is one of six short AI courses I bought from ISC2 in May 2026, and at $64 it is the bundle&amp;rsquo;s wide-angle regulatory survey. Where &lt;em>The Evolving Cybersecurity Workforce&lt;/em> touches the legal landscape lightly, this one walks across it: a stack of ISO standards (the 27000 information-security series including 27701 on privacy, 20000 on IT service management, and 42001 on AI management, alongside others in the ISO/AI family), NIST&amp;rsquo;s Cybersecurity Framework and AI Risk Management Framework, FedRAMP, the ENISA directives for AI cybersecurity, and the EU AI Act. Covering that many documents in a short course means none get treated exhaustively &amp;ndash; which is the right trade for a survey, and the course is upfront about it.&lt;/p></description></item><item><title>Planning for Secure by Design AI</title><link>https://matthewjayhunter.com/post/reviews/courses/planning-for-secure-by-design-ai/</link><pubDate>Thu, 23 Jul 2026 07:20:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/reviews/courses/planning-for-secure-by-design-ai/</guid><description>&lt;p>&lt;em>Planning for Secure by Design AI&lt;/em> is one of six short AI courses I bought from ISC2 in May 2026, and at $64 it is the bundle&amp;rsquo;s pass through the AI development lifecycle from the security side. It starts with traditional cybersecurity controls applied to AI use, moves through the legal and regulatory environment, spends real time on the data risks and dataset-protection problems that make AI a different shape of security target than a traditional system, and closes briefly on ethics and on AI applied to traditional cybersecurity work. Nothing in it is particularly surprising, and nothing in it is outright wrong.&lt;/p></description></item><item><title>Foundations of AI</title><link>https://matthewjayhunter.com/post/reviews/courses/foundations-of-ai/</link><pubDate>Thu, 23 Jul 2026 07:10:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/reviews/courses/foundations-of-ai/</guid><description>&lt;p>&lt;em>Foundations of AI&lt;/em> is one of six short AI courses I bought from ISC2 in May 2026, and at $128 it is the most expensive of the bundle. It is also the most dated &amp;ndash; and that is not the criticism it sounds like. This is a history course. It walks the lineage of AI and its core branches, most of which have been around far longer than the current hype suggests: &lt;a href="https://en.wikipedia.org/wiki/Expert_system">expert systems&lt;/a>
, &lt;a href="https://en.wikipedia.org/wiki/Fuzzy_logic">fuzzy logic&lt;/a>
, &lt;a href="https://en.wikipedia.org/wiki/Computer_vision">computer vision&lt;/a>
, &lt;a href="https://en.wikipedia.org/wiki/Robotics">robotics&lt;/a>
, &lt;a href="https://en.wikipedia.org/wiki/Machine_learning">machine learning&lt;/a>
, &lt;a href="https://en.wikipedia.org/wiki/Natural_language_processing">natural language processing&lt;/a>
. As a backgrounder on each of those, it is genuinely good. As a survey of where the excitement is right now, it is a step behind.&lt;/p></description></item><item><title>The Evolving Cybersecurity Workforce</title><link>https://matthewjayhunter.com/post/reviews/courses/evolving-cybersecurity-workforce/</link><pubDate>Thu, 23 Jul 2026 07:00:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/reviews/courses/evolving-cybersecurity-workforce/</guid><description>&lt;p>&lt;em>The Evolving Cybersecurity Workforce&lt;/em> is one of six short AI courses I bought from ISC2 in May 2026, and despite the title it is mostly about AI risk and governance, not careers. Running underneath it is a steady note of reassurance that AI is not going to take your security job. The content is non-technical: how to set AI policy, what the risks of AI tools are, how a company should respond, and which privacy regulations bear on AI use. None of it was new to me &amp;ndash; I have worked with both AI and privacy regulation in a compliance role &amp;ndash; but as a survey of the legal and governance terrain, it holds up. Whether you should believe the reassurance is a different question.&lt;/p></description></item><item><title>The Capture Card That Wouldn't Capture</title><link>https://matthewjayhunter.com/post/computing/the-capture-card-that-wouldnt-capture/</link><pubDate>Mon, 29 Jun 2026 03:15:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/the-capture-card-that-wouldnt-capture/</guid><description>&lt;p>The card is a clone. Its PCI vendor ID is &lt;code>0x8888&lt;/code> &amp;ndash; not a registered vendor, just four eights, the fingerprint of hardware built to look like something it isn&amp;rsquo;t. &lt;code>lspci&lt;/code> calls it a &amp;ldquo;Silicon Magic AVMatrix VC12 4K HDMI Capture.&amp;rdquo; It&amp;rsquo;s a cheap 4K HDMI capture card in the lineage of a Magewell Pro Capture, and it had sat dead in one of my machines since I bought it, because the only Linux driver I could find for it didn&amp;rsquo;t work.&lt;/p></description></item><item><title>Hard Lemonade: Three Fixes to Get Local AI Pouring on AMD</title><link>https://matthewjayhunter.com/post/computing/hard-lemonade-three-fixes/</link><pubDate>Tue, 23 Jun 2026 20:00:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/hard-lemonade-three-fixes/</guid><description>&lt;p>Running a local LLM server is the easy part. Getting three separate pieces of infrastructure to agree that a model is downloaded, reachable, and worth waiting for is where the afternoon goes. Over the past two weeks I shipped three fixes across two open-source projects to get AMD&amp;rsquo;s &lt;a href="https://github.com/lemonade-sdk/lemonade">Lemonade&lt;/a>
 serving models behind the &lt;a href="https://github.com/thushan/olla">Olla&lt;/a>
 proxy on my Strix Halo box. None of them was hard in the algorithmic sense &amp;ndash; the diffs are a struct field, a config key, and a prepended path. They all came out of the same goal: point Olla at Lemonade on a Radeon and get a chat completion back.&lt;/p></description></item><item><title>ghtraffic</title><link>https://matthewjayhunter.com/post/tools/ghtraffic/</link><pubDate>Fri, 19 Jun 2026 06:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/tools/ghtraffic/</guid><description>&lt;p>GitHub&amp;rsquo;s traffic API gives you 14 days of view and clone data per repository. After that, it&amp;rsquo;s gone. If you want a longer historical record of how your open source projects are performing, you have to collect the data yourself before the window closes.&lt;/p>
&lt;p>&lt;a href="https://github.com/matthewjhunter/ghtraffic">ghtraffic&lt;/a>
 is a small Go tool that solves this problem. It queries the GitHub traffic API for every repository you have push access to &amp;ndash; including organization repos &amp;ndash; and writes newline-delimited JSON to stdout, one record per repo per day. Run it hourly via cron and append to a local file, and you accumulate a permanent historical record.&lt;/p></description></item><item><title>dicta</title><link>https://matthewjayhunter.com/post/tools/dicta/</link><pubDate>Wed, 17 Jun 2026 12:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/tools/dicta/</guid><description>&lt;p>Speech-to-text is one of the few accessibility tools where Linux still lags. The options that exist tend to want a commercial cloud API, a Python toolchain with GPU model files, or an X11 session &amp;ndash; and often all three. I wanted something that runs as a single static binary on Wayland, talks to whatever ASR backend I already have, and doesn&amp;rsquo;t listen until I tell it to.&lt;/p>
&lt;p>&lt;a href="https://github.com/matthewjhunter/dicta">dicta&lt;/a>
 is that: a Linux/Wayland voice dictation daemon written in pure Go. No always-on microphone, no wakeword, no push-to-talk. Capture starts when you press a key and stops when the session ends.&lt;/p></description></item><item><title>Smoke: Black-Box Route Testing the Router Gates Itself</title><link>https://matthewjayhunter.com/post/computing/smoke-route-testing/</link><pubDate>Sat, 06 Jun 2026 00:30:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/smoke-route-testing/</guid><description>&lt;p>Every unit test was green. The page returned 502 anyway.&lt;/p>
&lt;p>The route was a treasure generator. Its store had a thorough test suite, all passing, because the test built the store the way the test knew to build it &amp;ndash; with the database pool wired in. Production built it differently: a copy-paste in the route setup left the pool out, the store carried a nil handle, and the first query dereferenced nil. The handler panicked, the connection dropped, the reverse proxy turned that into a 502. No test caught it, because no test exercised the &lt;em>wired&lt;/em> route against a &lt;em>running&lt;/em> server. The tests checked the parts. Nothing checked that the assembled thing served.&lt;/p></description></item><item><title>The Layers That Didn't Hold</title><link>https://matthewjayhunter.com/post/computing/the-layers-that-didnt-hold/</link><pubDate>Mon, 01 Jun 2026 12:00:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/the-layers-that-didnt-hold/</guid><description>&lt;p>A few weeks ago I &lt;a href="https://matthewjayhunter.com/post/computing/defense-in-depth-for-ai-agents/">wrote&lt;/a>
 that defense in depth for AI agents means layers, not walls: screen untrusted content before the model acts on it, sanitize what comes back out, and never trust the data flowing through. Clean theory. Then I went back and read the code in &lt;a href="https://github.com/matthewjhunter/herald">Herald&lt;/a>
 that was supposed to implement those layers.&lt;/p>
&lt;p>Several of them didn&amp;rsquo;t hold.&lt;/p>
&lt;p>Herald is my feed reader. It pulls RSS and Atom from across the internet, runs each article through a local security model before anything else touches it, scores the survivors for relevance, and announces the interesting ones. Every feed item is untrusted content aimed at a model. That&amp;rsquo;s the whole premise of the defense-in-depth piece, and it&amp;rsquo;s exactly the threat I built Herald to study. What follows is the v0.2.0 hardening pass &amp;ndash; the bugs the theory missed, and a couple of ideas that worked.&lt;/p></description></item><item><title>The LiteLLM Supply Chain Attack: A Homelab Postmortem</title><link>https://matthewjayhunter.com/post/computing/litellm-supply-chain-postmortem/</link><pubDate>Fri, 15 May 2026 12:00:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/litellm-supply-chain-postmortem/</guid><description>&lt;p>On March 24, 2026, the LiteLLM PyPI package was compromised. Versions 1.82.7 and 1.82.8, published by an account labeled TeamPCP, contained malicious code. I had LiteLLM running in my homelab as a routing layer between local AI clients and several model backends. This post is the postmortem: what I was running, what the exposure actually was, why I removed LiteLLM rather than just upgrading, and what the incident clarified about supply chain risk in homelab AI infrastructure.&lt;/p></description></item><item><title>Defense in Depth for AI Agents</title><link>https://matthewjayhunter.com/post/computing/defense-in-depth-for-ai-agents/</link><pubDate>Tue, 12 May 2026 12:00:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/defense-in-depth-for-ai-agents/</guid><description>&lt;p>The security conversation around AI agents has mostly focused on two things: keeping agents from hurting the host system, and keeping malicious tools out of the supply chain. These are real problems. Cisco &lt;a href="https://blogs.cisco.com/ai/personal-ai-agents-like-openclaw-are-a-security-nightmare">documented&lt;/a>
 how OpenClaw leaks credentials and executes arbitrary shell commands. Projects like &lt;a href="https://nanoclaw.net/">NanoClaw&lt;/a>
 respond by running agents in containers where bash commands can&amp;rsquo;t reach the host. Zencoder&amp;rsquo;s &lt;a href="https://zencoder.ai/blog/ai-agent-survival-guide-part-3-that-mcp-server-you-just-installed">MCP survival guide&lt;/a>
 catalogs supply chain attacks against MCP servers and recommends pinning git tags and auditing source.&lt;/p></description></item><item><title>Threat Modeling a Persistent Memory Store for AI Agents</title><link>https://matthewjayhunter.com/post/computing/threat-modeling-ai-memory-store/</link><pubDate>Tue, 12 May 2026 12:00:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/threat-modeling-ai-memory-store/</guid><description>&lt;p>Persistent memory for AI agents solves a real problem (the goldfish-with-a-PhD problem) but it introduces a new one: a high-trust, cross-session, cross-agent data store sitting inside the LLM&amp;rsquo;s context loop. Every recall is content that flows into a prompt. Every store is content that came from somewhere &amp;ndash; sometimes the user, sometimes the model, sometimes a tool result that originated externally.&lt;/p>
&lt;p>That&amp;rsquo;s a threat model worth writing down before the data store grows up. This post is the threat model for memstore &amp;ndash; the persistent memory system I built for Claude Code &amp;ndash; and the controls I&amp;rsquo;m applying or planning.&lt;/p></description></item><item><title>Self-Improving Recall: A Feedback Loop for AI Memory</title><link>https://matthewjayhunter.com/post/computing/self-improving-recall-feedback-loop/</link><pubDate>Mon, 11 May 2026 12:00:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/self-improving-recall-feedback-loop/</guid><description>&lt;p>A memory system that ranks facts the same way forever is dead weight. The signal that
actually matters &amp;ndash; did this fact help, or did it waste context &amp;ndash; only exists during a
real conversation. Memstore&amp;rsquo;s feedback loop captures that signal in-session and feeds it
back into recall ranking, so the system gets better at surfacing useful knowledge the
more it&amp;rsquo;s used.&lt;/p>
&lt;h2 id="the-problem-static-recall-is-stale-recall">The problem: static recall is stale recall&lt;/h2>
&lt;p>Memstore&amp;rsquo;s baseline ranking uses static signals &amp;ndash; IDF, project boosts, semantic similarity, recency, surface-aware multipliers for project-level facts. All of them are derived from the fact itself, the query, or the static metadata around them. None answers the real question: when memstore injected this fact last time, did it help the agent or did it just crowd out something better?&lt;/p></description></item><item><title>Contact</title><link>https://matthewjayhunter.com/contact/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/contact/</guid><description>&lt;p>Got a question, project inquiry, or just want to say hello? Fill in the form below.&lt;/p>
&lt;form id="contact-form" action="https://matthewjayhunter.com/contact" method="post" novalidate data-track="contact_submit">
 &lt;div class="mb-3">
 &lt;label for="contact-name" class="form-label">Name&lt;/label>
 &lt;input id="contact-name" name="name" type="text" class="form-control" autocomplete="name" required>
 &lt;/div>

 &lt;div class="mb-3">
 &lt;label for="contact-email" class="form-label">Email&lt;/label>
 &lt;input id="contact-email" name="email" type="email" class="form-control" autocomplete="email" required>
 &lt;/div>

 &lt;div class="mb-3">
 &lt;label for="contact-subject" class="form-label">Subject&lt;/label>
 &lt;input id="contact-subject" name="subject" type="text" class="form-control" autocomplete="off">
 &lt;/div>

 &lt;div class="mb-3">
 &lt;label for="contact-message" class="form-label">Message&lt;/label>
 &lt;textarea id="contact-message" name="message" class="form-control" rows="6" required>&lt;/textarea>
 &lt;/div>

 
 &lt;div aria-hidden="true" style="position:absolute;left:-9999px;visibility:hidden;">
 &lt;label for="contact-website">Website&lt;/label>
 &lt;input id="contact-website" name="website" type="text" tabindex="-1" autocomplete="off">
 &lt;/div>
 &lt;input type="hidden" name="antibot_token" data-antibot-form="contact">

 &lt;button type="submit" class="btn btn-primary">Send&lt;/button>

 &lt;div id="contact-msg" class="mt-3" aria-live="polite">&lt;/div>
&lt;/form>

&lt;script src="https://matthewjayhunter.com/js/antibot.js" defer>&lt;/script>
&lt;script>
(function () {
 var form = document.getElementById('contact-form');
 var msg = document.getElementById('contact-msg');
 if (!form || !msg) return;
 form.addEventListener('submit', async function (e) {
 e.preventDefault();
 msg.innerHTML = '';
 try {
 var resp = await fetch(form.action, {
 method: 'POST',
 body: new FormData(form),
 });
 var html = await resp.text();
 var ok = resp.ok &amp;&amp; html.indexOf('alert-success') !== -1;
 if (ok) {
 form.innerHTML = html;
 } else {
 msg.innerHTML = html;
 }
 if (window.uiTrack) window.uiTrack('contact_result', { result: ok ? 'success' : 'error' });
 } catch (_) {
 msg.innerHTML = '&lt;div class="alert alert-danger" role="alert">Something went wrong. Please try again.&lt;/div>';
 if (window.uiTrack) window.uiTrack('contact_result', { result: 'network_error' });
 }
 });
})();
&lt;/script></description></item><item><title>math-mcp: Giving LLMs a Calculator That Knows It's a Calculator</title><link>https://matthewjayhunter.com/post/computing/math-mcp/</link><pubDate>Sun, 10 May 2026 12:00:00 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/math-mcp/</guid><description>&lt;p>LLMs do arithmetic in their heads. Mostly they&amp;rsquo;re close. Occasionally they&amp;rsquo;re off by enough to matter &amp;ndash; a mortgage payment that&amp;rsquo;s $90 too high, an opportunity-cost claim that&amp;rsquo;s understated by 10%, a loan payoff term that ignores the interest still accruing while you pay it down. The model doesn&amp;rsquo;t know which case it&amp;rsquo;s in. Neither do you, unless you check.&lt;/p>
&lt;p>math-mcp is a small MCP server that gives the model somewhere else to send those questions. It exposes ~55 discrete tools: Go&amp;rsquo;s &lt;code>math&lt;/code> standard library, &lt;code>gonum&lt;/code>&amp;rsquo;s statistical aggregates, and &lt;code>razorpay/go-financial&lt;/code>&amp;rsquo;s time-value-of-money functions, each wrapped as its own tool so the LLM picks them out of its tool list by name and calls them directly. One tool per function, no expression evaluator. The point is to make &amp;ldquo;I should not estimate this&amp;rdquo; the easy path.&lt;/p></description></item><item><title>GMKtec NucBox G9</title><link>https://matthewjayhunter.com/post/reviews/hardware/gmktek_g9/</link><pubDate>Sat, 28 Mar 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/gmktek_g9/</guid><description>&lt;p>The &lt;a href="https://www.gmktec.com/products/intel-twin-lake-n150-dual-system-4-bay-nas-mini-pc-nucbox-g9">GMKtec NucBox G9&lt;/a>
 is a compact mini PC marketed as a 4-bay NAS solution. It packs four M.2 NVMe slots into a sub-1U chassis with an Intel N150 processor and 12GB of soldered LPDDR5, making it appealing for homelab enthusiasts who want dense SSD storage in a tiny footprint. At around $210, the specs-per-dollar ratio is compelling. On paper, it looked like the perfect low-power Jellyfin host. In practice, the fan developed bearing noise and died after less than a year of lightly loaded continuous operation, and the device had already developed a well-documented reputation for thermal issues before mine failed. The plastic chassis doesn&amp;rsquo;t help with heat dissipation, and the overall build quality feels budget-appropriate&amp;ndash;fine at this price point, but not confidence-inspiring for 24/7 server duty. Not recommended for always-on use.&lt;/p></description></item><item><title>HUMOR: 35%</title><link>https://matthewjayhunter.com/post/computing/tars-humor-setting/</link><pubDate>Fri, 27 Mar 2026 08:00:00 -0600</pubDate><guid>https://matthewjayhunter.com/post/computing/tars-humor-setting/</guid><description>&lt;p>In &lt;em>Interstellar&lt;/em>, TARS has a configurable humor setting. Cooper runs it at 75%.
It&amp;rsquo;s played for laughs, but it&amp;rsquo;s also one of the more honest things in the film:
personality as a dial, mood as a parameter.&lt;/p>
&lt;p>I gave Claude Code the same feature.&lt;/p>
&lt;p>My AI coding assistant runs with a &lt;code>UserPromptSubmit&lt;/code> hook &amp;ndash; a small script that fires
on every prompt and injects context into the conversation. It was already injecting the
current date and time. I decided to also inject a humor percentage, dynamically computed
from the hour of day:&lt;/p></description></item><item><title>Operational Lessons from 1,500 Memstore Facts</title><link>https://matthewjayhunter.com/post/computing/operational-lessons-from-1500-facts/</link><pubDate>Thu, 26 Mar 2026 08:00:00 -0600</pubDate><guid>https://matthewjayhunter.com/post/computing/operational-lessons-from-1500-facts/</guid><description>&lt;p>Building a persistent memory system for AI agents is one problem. Operating it at scale
is a different one. After two months of daily use, memstore holds around 1,500 active facts
across a dozen projects &amp;ndash; project architecture, coding conventions, design decisions,
cross-cutting invariants, and roughly a thousand symbol-level descriptions generated by
running an LLM over every Go function in every codebase I work on. The system works. The
recall pipeline surfaces relevant context on every prompt without manual search. But getting
from &amp;ldquo;works&amp;rdquo; to &amp;ldquo;works well&amp;rdquo; required a series of scoring adjustments, noise filters, and
feedback mechanisms that the original design didn&amp;rsquo;t anticipate.&lt;/p></description></item><item><title>Fact Supersession: Version Control for Knowledge</title><link>https://matthewjayhunter.com/post/computing/fact-supersession-version-control-for-knowledge/</link><pubDate>Wed, 25 Mar 2026 08:00:00 -0600</pubDate><guid>https://matthewjayhunter.com/post/computing/fact-supersession-version-control-for-knowledge/</guid><description>&lt;p>Most memory systems for AI agents treat knowledge as a key-value store. Write a fact, overwrite it later, old value is gone. That works for simple preferences &amp;ndash; &amp;ldquo;use dark mode&amp;rdquo; doesn&amp;rsquo;t need a paper trail. But knowledge that evolves over time is a different problem. When a design decision turns out to be wrong, or a project&amp;rsquo;s architecture shifts, or a dependency gets replaced, you don&amp;rsquo;t just want the current answer. You want to know what you believed before, when it changed, and ideally why. Losing that history means losing the reasoning trail, and reasoning is the expensive part. Memstore&amp;rsquo;s supersession system brings version control semantics to AI memory: facts get replaced, not erased, and the full chain of revisions is preserved.&lt;/p></description></item><item><title>Traefik</title><link>https://matthewjayhunter.com/post/reviews/software/traefik/</link><pubDate>Wed, 25 Mar 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/software/traefik/</guid><description>&lt;p>&lt;a href="https://traefik.io/traefik/">Traefik&lt;/a>
 is an open source reverse proxy and load balancer built for containerized environments. Its defining feature is automatic service discovery: point it at a Docker host, add labels to your containers, and Traefik provisions routes as services come up without manual configuration. I&amp;rsquo;m using it as the front door for my homelab, handling TLS termination via Let&amp;rsquo;s Encrypt and routing traffic to the appropriate backends. Getting there involved some genuine frustration. Running it is largely painless. On balance, it&amp;rsquo;s highly recommended&amp;ndash;but go in knowing that &amp;ldquo;simple setup&amp;rdquo; undersells the actual process.&lt;/p></description></item><item><title>Umami vs Plausible</title><link>https://matthewjayhunter.com/post/reviews/software/umami-vs-plausible/</link><pubDate>Wed, 25 Mar 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/software/umami-vs-plausible/</guid><description>&lt;p>Both &lt;a href="https://umami.is/">Umami&lt;/a>
 and &lt;a href="https://plausible.io/">Plausible&lt;/a>
 are open source, privacy-focused web analytics platforms that run in Docker, collect visitor metrics without cookies, and position themselves as GDPR-compliant alternatives to Google Analytics. I ran both simultaneously on my personal sites to decide which to keep long-term. My conclusion was Umami, and it wasn&amp;rsquo;t particularly close once I moved past surface aesthetics. The deciding factors were practical: API flexibility, navigational coherence, and&amp;ndash;counterintuitively&amp;ndash;Plausible&amp;rsquo;s own setup flow working against it. Plausible is marginally prettier in places, but it squanders that advantage with some genuinely puzzling navigation decisions.&lt;/p></description></item><item><title>Uptime Kuma</title><link>https://matthewjayhunter.com/post/reviews/software/uptime_kuma/</link><pubDate>Wed, 25 Mar 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/software/uptime_kuma/</guid><description>&lt;p>&lt;a href="https://github.com/louislam/uptime-kuma">Uptime Kuma&lt;/a>
 is an open source, self-hosted monitoring tool that tracks the availability of your services and alerts you when something goes down. After a few weeks of running it via Docker Compose to monitor both my homelab services and sites running on external hosting, my overall impression is quite positive&amp;ndash;but there are some structural concerns that may send me looking for alternatives down the road.&lt;/p>
&lt;h2 id="setup-and-first-impressions">Setup and First Impressions&lt;/h2>
&lt;p>Getting Uptime Kuma running is straightforward. A single service in a Docker Compose file, a volume for persistence, and you&amp;rsquo;re at the web interface within minutes. There&amp;rsquo;s no separate database server to configure, no complex dependency chain&amp;ndash;it uses an embedded SQLite database and handles everything through the browser.&lt;/p></description></item><item><title>Proactive Context Injection with Claude Code Hooks</title><link>https://matthewjayhunter.com/post/computing/claude-code-hooks-persistent-memory/</link><pubDate>Tue, 24 Mar 2026 08:00:00 -0600</pubDate><guid>https://matthewjayhunter.com/post/computing/claude-code-hooks-persistent-memory/</guid><description>&lt;p>Claude Code sessions start with amnesia. Every conversation begins cold &amp;ndash; no memory of what you worked on yesterday, what invariants matter in the file you&amp;rsquo;re about to edit, or what tasks are still pending from last week. CLAUDE.md helps by injecting static project context, and MCP tools let the model search for facts on demand. But both of those require something to go right first: either the static file happens to cover the relevant topic, or the model decides to search before acting. In practice, the model often doesn&amp;rsquo;t search. It plows ahead with what it has, and the most valuable context &amp;ndash; the constraint you documented last Tuesday, the task you left half-finished &amp;ndash; stays in the database unsurfaced. This post is about closing that gap with hooks: small scripts that fire at specific points in the Claude Code lifecycle and inject relevant context automatically, before the model even knows it needs it.&lt;/p></description></item><item><title>Building Persistent Memory for AI Agents</title><link>https://matthewjayhunter.com/post/computing/building-persistent-memory-for-ai-agents/</link><pubDate>Mon, 23 Mar 2026 08:00:00 -0600</pubDate><guid>https://matthewjayhunter.com/post/computing/building-persistent-memory-for-ai-agents/</guid><description>&lt;p>AI coding assistants are goldfish with a PhD. They can solve complex problems within a single session &amp;ndash; refactoring a module, debugging a race condition, designing an API &amp;ndash; but the moment the conversation ends, everything they learned about your project evaporates. After months of building software with Claude Code, I found myself re-explaining the same project conventions, the same architectural decisions, the same mistakes we&amp;rsquo;d already caught and fixed, at the start of every session. CLAUDE.md files help, but they&amp;rsquo;re static and they don&amp;rsquo;t scale. You can&amp;rsquo;t stuff a dozen projects&amp;rsquo; worth of design context into a single markdown file. So I built memstore: a persistent memory system that gives AI agents durable, searchable knowledge across sessions, projects, and machines.&lt;/p></description></item><item><title>Ubiquiti Mission Critical Switch</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_mission_critical_switch/</link><pubDate>Fri, 13 Mar 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_mission_critical_switch/</guid><description>&lt;p>The &lt;a href="https://store.ui.com/us/en/products/usw-mission-critical">Ubiquiti USW Mission Critical&lt;/a>
 is a rare device that combines several features you&amp;rsquo;d normally need separate hardware for: a managed 1GbE PoE switch, an integrated UPS battery backup, and two remotely controllable AC power outlets&amp;ndash;all in a single 1U rackmount chassis. The intended use case is keeping your cameras recording and your internet connection self-healing during power outages, and it does that well. In my setup, eight cameras draw only about 23% of the 240W PoE budget, leaving substantial headroom. The AC outlets can be power-cycled remotely or automatically if internet drops&amp;ndash;handy for rebooting a flaky modem. The main drawbacks are the unit&amp;rsquo;s unusual depth, which can cause clearance issues in shallow racks, and the lack of automated graceful-shutdown support for connected devices when the battery runs low.&lt;/p></description></item><item><title>Ubiquiti Switch Pro Max 16 PoE</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_pro_max_16_poe/</link><pubDate>Tue, 10 Mar 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_pro_max_16_poe/</guid><description>&lt;p>The &lt;a href="https://store.ui.com/us/en/products/usw-pro-max-16-poe">Ubiquiti USW-Pro-Max-16-PoE&lt;/a>
 occupies an awkward middle ground between a central rackmount switch for an entire building and the smaller Flex switches aimed at prosumer or satellite use cases. The sixteen ports are split unevenly: four run at 2.5GbE with PoE++, while the remaining twelve are 1GbE only, which means you need to think carefully about what gets plugged in where. Two SFP+ ports provide 10GbE capability, and the fanless design is a genuine plus for closet installations. In my setup it serves as a secondary closet switch with 10GbE uplinks in both directions, but for most use cases one of the Flex 2.5GbE 8-port models will be a better fit. The niche this switch fills is real but narrow.&lt;/p></description></item><item><title>Ubiquiti Camera G6 PTZ</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_camera_g6_ptz/</link><pubDate>Sat, 07 Mar 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_camera_g6_ptz/</guid><description>&lt;p>I bought the &lt;a href="https://store.ui.com/us/en/products/uvc-g6-ptz">Ubiquiti Camera G6 PTZ&lt;/a>
 to replace a failed G4 camera on a corner mount, with the plan of using patrol mode to cover a broad arc and the zoom function to pick up details from a distant, otherwise-uncovered space. It has worked well for both purposes. The camera is larger than expected&amp;ndash;the pan-tilt mechanism adds a conspicuous cylinder that&amp;rsquo;s less discreet than a dome&amp;ndash;and the PTZ controls take some trial and error to learn, but the image quality is good and patrol mode is easy to configure once you know the basics. Aside from a puzzling Fast Ethernet connection speed, the overall impression is positive.&lt;/p></description></item><item><title>Ubiquiti Switch Flex 2.5G PoE</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_flex_2.5g_poe/</link><pubDate>Wed, 04 Mar 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_flex_2.5g_poe/</guid><description>&lt;p>The &lt;a href="https://store.ui.com/us/en/products/usw-flex-2-5g-8-poe">Switch Flex 2.5G PoE&lt;/a>
 shares the same port layout as its non-PoE sibling&amp;ndash;eight 2.5GbE ports with a 10GbE uplink&amp;ndash;but this version &lt;em>provides&lt;/em> PoE to connected devices instead of being &lt;em>powered by&lt;/em> PoE. That distinction changes where it fits in your network. This is the switch for remote locations where you need both 2.5GbE connectivity and PoE power delivery without running back to your main switch for each device: a network closet with an access point and a few wired devices, a detached building, anywhere you want to extend both data and power distribution from a single unit. It&amp;rsquo;s physically larger than the non-PoE version and requires its own power supply&amp;ndash;that&amp;rsquo;s the tradeoff for providing power instead of just consuming it.&lt;/p></description></item><item><title>Ubiquiti Switch Flex 2.5G</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_flex_2.5g/</link><pubDate>Sun, 01 Mar 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_flex_2.5g/</guid><description>&lt;p>The &lt;a href="https://store.ui.com/us/en/products/usw-flex-2-5g-8">Switch Flex 2.5G&lt;/a>
 is an 8-port 2.5GbE managed switch with a 10GbE uplink, powered by PoE or USB-C. It&amp;rsquo;s the bigger sibling of the &lt;a href="https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_flex_mini_2.5g/">Flex Mini&lt;/a>
, suited for a small workgroup or well-equipped home office where five ports isn&amp;rsquo;t quite enough. Eight 2.5GbE ports handles multiple computers, a NAS, a printer, and whatever else needs connectivity in one area, while the 10GbE uplink keeps things moving when multiple devices transfer simultaneously. Like the Flex Mini, the PoE power option means no wall wart cluttering your workspace&amp;ndash;one cable back to your main switch handles both data and power. Just remember that any individual port is still 2.5GbE maximum; the 10GbE uplink prevents congestion but doesn&amp;rsquo;t make individual devices faster.&lt;/p></description></item><item><title>Ubiquiti Device Bridge Switch</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_device_bridge_switch/</link><pubDate>Thu, 26 Feb 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_device_bridge_switch/</guid><description>&lt;p>The &lt;a href="https://store.ui.com/us/en/products/ub-db-switch">Device Bridge Switch&lt;/a>
 is one of those products that solves a problem you assumed was too niche for anyone to build a dedicated device for: bridging a small cluster of ethernet devices to a wireless network. It&amp;rsquo;s a managed desktop switch with a built-in wireless client&amp;ndash;plug in your devices, and they talk to each other locally via ethernet while connecting wirelessly to the rest of your network. Adoption into the UniFi controller is the same single-click experience as any other UniFi device, and the switch ports are fully managed with per-port VLAN support, all configured seamlessly over the wireless link. If you need ethernet connectivity where you can&amp;rsquo;t run cable and you&amp;rsquo;re already in the UniFi ecosystem, this is the clean, purpose-built solution.&lt;/p></description></item><item><title>Ubiquiti Switch Flex Mini 2.5G</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_flex_mini_2.5g/</link><pubDate>Mon, 23 Feb 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_flex_mini_2.5g/</guid><description>&lt;p>The &lt;a href="https://store.ui.com/us/en/products/usw-flex-2-5g-5">Ubiquiti Switch Flex Mini 2.5G&lt;/a>
 is a five-port managed 2.5GbE desktop switch that costs fifty dollars and draws power over PoE&amp;ndash;or USB-C if you prefer. At this price point, managed 2.5GbE switching is impulse-buy territory, and the value proposition is hard to argue with. I replaced a collection of 1GbE Flex Mini switches scattered around the house with these 2.5GbE models; the upgrade was painless and immediately noticeable for local file transfers. There&amp;rsquo;s not much more to say because there&amp;rsquo;s not much more to the product: it&amp;rsquo;s a small, quiet, PoE-powered switch that integrates perfectly with the UniFi ecosystem, does one thing, and does it well. Buy several.&lt;/p></description></item><item><title>Ubiquiti Switch Pro XG 10 PoE</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_pro_xg_10_poe/</link><pubDate>Fri, 20 Feb 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_pro_xg_10_poe/</guid><description>&lt;p>The Switch Pro XG 10 PoE delivers 10GbE switching with PoE on all ports&amp;ndash;exactly what you&amp;rsquo;d want for high-bandwidth aggregation, storage traffic, or between-switch uplinks. It also delivers noise and heat in quantities that make me wish I&amp;rsquo;d bought something else. The fans run hard enough to be audible from across the room, a jarring change from the near-silent operation of smaller UniFi switches, and the thermal output is significant. In practice, most devices connecting at 10GbE speeds don&amp;rsquo;t need PoE&amp;ndash;they&amp;rsquo;re servers, NAS units, or other switches with their own power supplies&amp;ndash;so the PoE adds thermal load and fan noise for a capability I&amp;rsquo;d happily trade away. If you need 10GbE aggregation in a location far from where you spend time, it performs well; otherwise, consider the non-PoE alternatives.&lt;/p></description></item><item><title>Ubiquiti UNAS Pro</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_unas_pro/</link><pubDate>Tue, 17 Feb 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_unas_pro/</guid><description>&lt;p>The &lt;a href="https://store.ui.com/us/en/products/unas-pro">UNAS Pro&lt;/a>
 was Ubiquiti&amp;rsquo;s first attempt at a NAS appliance, and it shows. If your requirements are SMB shares, NFS exports, RAID, and snapshots, it handles those reliably&amp;ndash;the 10GbE connectivity is a genuine strength, and once a share is configured it works like any other file server. But the software shipped before it was fully baked and arguably still isn&amp;rsquo;t: no iSCSI, no built-in rsync or scp in the UI, sparse feature additions over time, and an admin interface tied to UniFi Identity that adds friction to what should be straightforward. If you&amp;rsquo;re coming from Synology or TrueNAS expecting a rich ecosystem of packages and services, recalibrate your expectations. The UNAS Pro is best understood as a UniFi-native file server that does the basics well, and the newer &lt;a href="https://store.ui.com/us/en/products/unas-pro-8">UNAS Pro 8&lt;/a>
 is a better buy if you don&amp;rsquo;t already own the original.&lt;/p></description></item><item><title>Ubiquiti Switch Pro HD PoE</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_pro_hd_poe/</link><pubDate>Sat, 14 Feb 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_pro_hd_poe/</guid><description>&lt;p>I cannot say enough good things about the &lt;a href="https://store.ui.com/us/en/products/usw-pro-hd-24-poe">Switch Pro HD PoE&lt;/a>
. This is the switch the &lt;a href="https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_pro_24_poe/">Pro 24 PoE&lt;/a>
 wishes it could be: every port runs at 2.5GbE minimum, every port supports PoE, and you get two 10GbE ports plus four SFP ports for high-speed uplinks. The all-port PoE alone is transformative&amp;ndash;no more checking port numbers, consulting diagrams, or rerouting cables when you add a camera or access point. Plug in your PoE device, it works. Then there&amp;rsquo;s Etherlighting, which makes your switch ports glow with customizable color-coded activity through translucent cable connectors. It is objectively unnecessary, obviously an excuse to charge more, and I love it. This switch is expensive, and the premium cables make it more so, but it made my network feel complete.&lt;/p></description></item><item><title>Transcribing D&amp;D Sessions with WhisperX and Speaker Diarization</title><link>https://matthewjayhunter.com/post/computing/transcribing-dnd-sessions/</link><pubDate>Thu, 12 Feb 2026 06:00:00 -0600</pubDate><guid>https://matthewjayhunter.com/post/computing/transcribing-dnd-sessions/</guid><description>&lt;p>I play in two weekly D&amp;amp;D groups and write session reports as narrative prose from the characters&amp;rsquo; perspectives. The reports expand on what happened at the table, adding dialog and internal monologue in each character&amp;rsquo;s voice. This workflow has evolved through several iterations, each one solving a problem the previous version left on the table.&lt;/p>
&lt;h2 id="how-it-started">How it started&lt;/h2>
&lt;p>The first version was simple: play the session, take notes, write the report from memory afterward. This worked when I had time, but a four-hour session generates a lot of material, and between work and life, writing sometimes slipped by a week. By then the details had faded. The bullet-point notes I&amp;rsquo;d scribbled during play were thin on dialog and light on the small moments that make session reports worth reading.&lt;/p></description></item><item><title>Framework Desktop</title><link>https://matthewjayhunter.com/post/reviews/hardware/framework_desktop/</link><pubDate>Thu, 12 Feb 2026 00:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/framework_desktop/</guid><description>&lt;p>The &lt;a href="https://frame.work/products/desktop">Framework Desktop&lt;/a>
 crams workstation-class silicon into a 4.5-liter chassis that barely occupies more desk space than a large book. Mine is the top-end configuration: an AMD Ryzen AI Max+ 395 (Strix Halo) with 16 Zen 5 cores, 40 RDNA 3.5 compute units, and 128GB of unified LPDDR5X memory soldered to the package. It runs Linux exclusively and handles everything I throw at it as a daily driver. The expansion card system carried over from Framework&amp;rsquo;s laptops is a better idea on a laptop than a desktop, and the I/O is thinner than I&amp;rsquo;d like. But the build experience was genuinely enjoyable. The 128GB of unified memory means I can run 70-billion-parameter models that won&amp;rsquo;t fit on even a high-end discrete GPU&amp;ndash;slowly, but they run. The PCIe slot is a baffling design miss, and Linux software support for the Strix Halo platform is still catching up to the hardware. But even with those caveats, this is the most compelling small form factor workstation I&amp;rsquo;ve used.&lt;/p></description></item><item><title>Framework Laptop 16 (Gen 2)</title><link>https://matthewjayhunter.com/post/reviews/hardware/framework_laptop_16/</link><pubDate>Thu, 12 Feb 2026 00:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/framework_laptop_16/</guid><description>&lt;p>The &lt;a href="https://frame.work/products/laptop16-diy-amd-ai-300">Framework Laptop 16&lt;/a>
 is the most upgradeable laptop I&amp;rsquo;ve ever used, and it&amp;rsquo;s not close. Six expansion card slots give you genuinely flexible I/O. The swappable GPU module is revolutionary for a laptop&amp;ndash;nothing else on the market lets you upgrade your graphics without buying a whole new machine. The display is excellent. The keyboard is one of the best I&amp;rsquo;ve used on a laptop. The build process is more involved than Framework&amp;rsquo;s Desktop and takes real time, but nothing about it is difficult. Build quality is excellent, the design is solid, and you come away from the assembly understanding exactly how your machine works. That&amp;rsquo;s worth something. It is also, to be clear, not a portable machine in any meaningful sense. This is a desktop replacement that happens to fold shut.&lt;/p></description></item><item><title>Ubiquiti SmartPower RPS</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_smartpower_rps/</link><pubDate>Wed, 11 Feb 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_smartpower_rps/</guid><description>&lt;p>The Ubiquiti SmartPower RPS is not a UPS, and that single fact made it a purchasing disaster for me. The product description is frustratingly vague about what it actually does, which led to an expensive misunderstanding. The RPS is a redundant power supply&amp;ndash;it keeps your UniFi equipment running if the internal power supply module fails, not if the electricity goes out. If you lose power, everything still goes dark. For most home lab users, this solves a failure mode that&amp;rsquo;s relatively rare and usually fixable by swapping hardware. What you almost certainly want instead is Ubiquiti&amp;rsquo;s actual UPS line, the &lt;a href="https://store.ui.com/us/en/collections/unifi-smartpower">UniFi SmartPower USP&lt;/a>
, or the &lt;a href="https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_mission_critical_switch/">Mission Critical Switch&lt;/a>
 which integrates battery backup directly into a PoE switch.&lt;/p></description></item><item><title>Ubiquiti G4 Dome Camera</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_g4_dome/</link><pubDate>Sun, 08 Feb 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_g4_dome/</guid><description>&lt;p>The &lt;a href="https://store.ui.com/us/en/products/uvc-g4-dome">Ubiquiti G4 Dome&lt;/a>
 is a simple, reliable camera that integrates cleanly with UniFi Protect&amp;ndash;plug it in, adopt it, watch your footage. The image quality is good, the dome form factor is unobtrusive, and the Protect interface handles everything consistently across all your cameras. It also gets genuine credit for full Linux compatibility, something that set it apart from the proprietary-plugin nightmare I dealt with on a previous camera system. Of my eight units, seven continue working years later without issues. The eighth failed, likely from sustained direct exposure to the Texas afternoon sun&amp;ndash;a reminder that camera placement matters, especially in hot climates.&lt;/p></description></item><item><title>Corvettes</title><link>https://matthewjayhunter.com/corvette/</link><pubDate>Sun, 08 Feb 2026 00:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/corvette/</guid><description>&lt;p>I have only ever owned Corvettes. I&amp;rsquo;ve driven and rented plenty of other cars, but when it comes time to sign papers, it&amp;rsquo;s always been a Corvette. Four generations and counting:&lt;/p>
&lt;h2 id="2020-c8">2020 C8&lt;/h2>
&lt;p>White, with the high wing. The mid-engine revolution. After decades of &amp;ldquo;they&amp;rsquo;ll never do it,&amp;rdquo; they did it. The C8 is a fundamentally different car from everything that came before &amp;ndash; the driving dynamics, the weight distribution, the way it puts power down. Heads will absolutely turn for this car. It&amp;rsquo;s the best I&amp;rsquo;ve ever owned and it&amp;rsquo;s not close.&lt;/p></description></item><item><title>Ubiquiti G4 Doorbell</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_g4_doorbell/</link><pubDate>Thu, 05 Feb 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_g4_doorbell/</guid><description>&lt;p>The &lt;a href="https://store.ui.com/us/en/products/uvc-g4-doorbell">Ubiquiti G4 Doorbell&lt;/a>
 is a mixed experience. It integrates seamlessly into UniFi Protect with good picture quality, handles existing doorbell wiring better than the Ring and Skybell it replaced, and&amp;ndash;critically&amp;ndash;requires no monthly subscription for cloud storage since recordings go to your local Protect storage. But persistent software limitations undermine the hardware. Protect treats it like a camera rather than a dedicated doorbell, so you must stay actively signed into the app to receive notifications&amp;ndash;and the app will sign you out. Cold weather kills reliability below freezing, WiFi signal through exterior walls is a constant struggle, and the optional chimes are disappointingly quiet. My advice: treat it as a camera that happens to be mounted at your front door, not as a reliable communication device.&lt;/p></description></item><item><title>Ubiquiti Mini Rack</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_mini_rack/</link><pubDate>Mon, 02 Feb 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_mini_rack/</guid><description>&lt;p>The Ubiquiti Mini Rack is a 6U open-frame rolling rack designed for UniFi equipment. The build quality is excellent&amp;ndash;smooth-rolling wheels, sturdy frame, toolless mounting for UniFi gear&amp;ndash;and it&amp;rsquo;s genuinely useful for staging and organizing equipment before deployment. But 6U is an awkward size that gets cramped fast once you account for a switch, gateway, and power distribution, and the open mobile design creates an aesthetic problem: cables running to a rack on wheels look perpetually temporary. My gear ultimately ended up in a wall-mounted rack that looked intentional rather than improvised. The Mini Rack remains a good workbench on wheels for assembly and configuration, just not where I wanted my network infrastructure to live long-term.&lt;/p></description></item><item><title>Ubiquiti Switch Pro 24 PoE</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_pro_24_poe/</link><pubDate>Fri, 30 Jan 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_switch_pro_24_poe/</guid><description>&lt;p>The &lt;a href="https://store.ui.com/us/en/products/usw-pro-24-poe">Ubiquiti USW-Pro-24-PoE&lt;/a>
 is a managed Layer 2/3 switch with PoE on every port that slots neatly into the UniFi ecosystem. Coming from unmanaged Netgear PoE switches, the visibility it provides into network topology transformed how I diagnose problems&amp;ndash;the controller&amp;rsquo;s topology view shows exactly which devices connect to which ports, turning what used to require physical investigation into a glance at the dashboard. I bought it because every port has PoE, eliminating the guesswork of which wall port maps to a powered switch port. I kept it because of that topology view. Twenty-four ports sounds like plenty until you start counting cameras, wall jacks, access points, and infrastructure devices, so plan your deployment carefully.&lt;/p></description></item><item><title>Ubiquiti U6 Long Range Access Point</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_u6_long_range/</link><pubDate>Tue, 27 Jan 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_u6_long_range/</guid><description>&lt;p>The &lt;a href="https://store.ui.com/us/en/pro/collections/unifi-wifi-flagship-long-range/products/u6-lr">Ubiquiti U6 Long Range&lt;/a>
 access point makes a bold claim right in its name. After deploying a single ceiling-mounted unit in a 4,000 square foot two-story home, that claim holds up&amp;ndash;complete coverage across both floors with no dead spots, handling approximately fifty devices without complaint. Previous access points produced spotty coverage in corners and struggled through walls; those problems simply don&amp;rsquo;t exist with this unit. The UniFi integration is seamless, roaming between multiple APs is invisible to connected devices, and WiFi 6 efficiency keeps everything stable even when the household is actively streaming, video conferencing, and transferring files simultaneously. Just don&amp;rsquo;t mount it on your bedroom ceiling&amp;ndash;the blue status LED is bright enough to disturb sleep.&lt;/p></description></item><item><title>Ubiquiti Dream Machine Pro</title><link>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_dream_machine_pro/</link><pubDate>Sat, 24 Jan 2026 10:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/hardware/ubiquiti/ubiquiti_dream_machine_pro/</guid><description>&lt;p>The &lt;a href="https://www.amazon.com/dp/B086967C9X/?tag=mjh04d-20">Ubiquiti Dream Machine Pro&lt;/a>
 represents a significant step up from consumer networking gear, offering enterprise-grade features in a package that&amp;rsquo;s actually manageable for technically-inclined home users. After three years of continuous use, it&amp;rsquo;s proven itself as the backbone of a demanding home network running four VLANs, approximately fifty devices, nine cameras through Protect, and automatic WAN failover. The centralized management interface handles both networking and Ubiquiti&amp;rsquo;s camera system from a single console, replacing what would otherwise require command-line configuration or separate tools. The cloud login trend and occasional UI hiccups are annoyances worth noting, but they haven&amp;rsquo;t undermined three years of reliable operation. If you&amp;rsquo;re comfortable managing VLANs and understand why IoT devices belong on a separate network, this delivers.&lt;/p></description></item><item><title>Resume</title><link>https://matthewjayhunter.com/resume/</link><pubDate>Fri, 16 Jan 2026 19:16:21 -0600</pubDate><guid>https://matthewjayhunter.com/resume/</guid><description>&lt;h2 id="security-engineer">Security Engineer&lt;/h2>
&lt;p>I am a Senior Software Engineer and Security Officer specializing in security architecture, compliance, and threat response, with deep expertise in building resilient systems that protect against emerging threats. As a CISSP-certified professional with GIAC credentials in incident handling and forensics, I bring both technical depth and governance expertise to engineering leadership roles. I architect and implement security solutions that balance rigorous compliance requirements with rapid delivery, leveraging AI-enabled development practices (GitHub Copilot, Claude/ChatGPT) to accelerate design, implementation, and security validation.&lt;/p></description></item><item><title>Tin Soldier</title><link>https://matthewjayhunter.com/post/fiction/tin-soldier/</link><pubDate>Wed, 07 Jan 2026 12:47:09 -0600</pubDate><guid>https://matthewjayhunter.com/post/fiction/tin-soldier/</guid><description>&lt;div class="thumbnail-link float-start me-3 mb-2">
 &lt;a href="https://www.amazon.com/Steadfast-Tin-Soldier-Matthew-Hunter-ebook/dp/B0GCZT8CPR/">
 &lt;img src="https://matthewjayhunter.com/post/fiction/tin-soldier/tinsoldier_hu_c58e6640504833.webp"
 alt="Tin Soldier"
 class="img-fluid" />
 &lt;/a>
 &lt;p class="image-caption">Tin Soldier&lt;/p>
 &lt;/div>
 


&lt;p>&lt;a href="https://www.amazon.com/dp/B0GCZT8CPR/?tag=mjh04d-20">A dark reimagining of a timeless classic&lt;/a>
, where love defies the boundaries between metal and mortality.&lt;/p>
&lt;p>A one-legged tin soldier glimpses a beautiful one-legged lady in a distant castle and embarks on an impossible journey to reach her. But what begins as a romantic quest becomes a harrowing test of will, sacrifice, and the true meaning of love.&lt;/p>
&lt;p>Across treacherous forests, past fearsome creatures, and through encounters with dark magic, the soldier transforms himself&amp;ndash;literally and spiritually&amp;ndash;in pursuit of his impossible dream. Yet as he discovers the princess he seeks and faces the sorcerer who holds her captive, he must choose between the perfection he&amp;rsquo;s always desired and the imperfection that makes him who he is.&lt;/p></description></item><item><title>Cyberleadership Program</title><link>https://matthewjayhunter.com/post/cyberleadership/</link><pubDate>Thu, 16 Oct 2025 02:04:21 -0500</pubDate><guid>https://matthewjayhunter.com/post/cyberleadership/</guid><description>&lt;p>This eight-week &lt;a href="https://hub.cyberleadershipinstitute.com/spaces/15820811/content">CyberLeadership program&lt;/a>
 from the CyberLeadership Institute guides experienced security professionals to operate at executive level, ending with a practical board‑facing capstone project that simulates the presentation of a 2-year plan by an incoming CISO to the board. Each week focuses on a distinct leadership domain, and includes practical action items and templates to be incorporated into the capstone. The course offers 40 CPE towards renewing my &lt;a href="https://matthewjayhunter.com/post/cissp/">CISSP&lt;/a>
.&lt;/p>
&lt;h2 id="week-1--the-role-of-a-ciso">Week 1 &amp;ndash; The role of a CISO&lt;/h2>
&lt;p>Week 1 orients participants to the program and the cyber resilience mindset, and introduces the CISO role through lived experience and practical lessons. Participants explore the many variants of the CISO position, clarify their ideal role, and begin building a personal brand and interview readiness. The week covers essential first‑100‑day priorities, ways to engage the C‑suite, and personal resilience practices.&lt;/p></description></item><item><title>GIAC Forensic Analyst</title><link>https://matthewjayhunter.com/post/gcfa/</link><pubDate>Mon, 03 Feb 2025 00:39:46 -0600</pubDate><guid>https://matthewjayhunter.com/post/gcfa/</guid><description>&lt;p>I recently took and passed the &lt;a href="https://www.giac.org/certifications/certified-forensic-analyst-gcfa/">GCFA certification exam&lt;/a>
 for forensic analysis. It was an interesting and educational experience, touching on logfile analysis, memory forensics, deep filesystem analysis, and timeline generation. Most of the content focused on Windows (event logs, NTFS filesystem formats, etc); I&amp;rsquo;m looking forward to finding a matching course with a Linux focus.&lt;/p></description></item><item><title>apt-cacher-ng</title><link>https://matthewjayhunter.com/post/tools/apt-cacher-ng/</link><pubDate>Sat, 25 Jan 2025 12:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/tools/apt-cacher-ng/</guid><description>&lt;p>When you manage more than a handful of Debian or Ubuntu systems, you quickly discover that downloading the same packages repeatedly from the internet is both wasteful and slow. Enter apt-cacher-ng, a caching proxy specifically designed for Debian package repositories. It sits between your local machines and the upstream mirrors, storing packages locally after the first download and serving them from cache for subsequent requests.&lt;/p>
&lt;p>The beauty of apt-cacher-ng lies in its simplicity. Installation is straightforward: a single &lt;code>apt install apt-cacher-ng&lt;/code> on a server, and you have a working proxy listening on port 3142. Client configuration is equally painless &amp;ndash; you can either set the proxy in each machine&amp;rsquo;s apt configuration, or use the auto-detect feature if your network supports it. Once configured, every package fetched by any client is cached, dramatically reducing bandwidth usage and speeding up updates across your network.&lt;/p></description></item><item><title>Taskfile</title><link>https://matthewjayhunter.com/post/tools/taskfile/</link><pubDate>Sat, 25 Jan 2025 12:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/post/tools/taskfile/</guid><description>&lt;p>Every project accumulates a collection of commands: build the thing, run the tests, deploy to staging, convert images, lint the code. These commands live in README files, shell history, or the developer&amp;rsquo;s memory. Make has been the traditional solution for decades, but its tab-sensitivity and arcane syntax make it frustrating for simple task running. &lt;a href="https://taskfile.dev/">Taskfile&lt;/a>
 offers a modern alternative.&lt;/p>
&lt;p>Taskfile uses a simple YAML format that feels immediately familiar. Tasks have names, descriptions, and commands. Running &lt;code>task serve&lt;/code> executes the serve task. Running &lt;code>task --list&lt;/code> shows all available tasks with their descriptions. No tabs-versus-spaces gotchas, no implicit rules to remember, no wrestling with pattern matching when you just want to run a shell command.&lt;/p></description></item><item><title>CISSP</title><link>https://matthewjayhunter.com/post/cissp/</link><pubDate>Sun, 01 Dec 2024 01:04:21 -0600</pubDate><guid>https://matthewjayhunter.com/post/cissp/</guid><description>&lt;p>I recently took and passed the &lt;a href="https://www.isc2.org/">ISC2&lt;/a>
 &lt;a href="https://www.isc2.org/certifications/cissp">CISSP&lt;/a>
. The certification covered a broad range of topics, most of which I was already familiar with from experience as a software engineer. Those areas I was less familiar with included legal and procedural requirements around risk assessment, physical security, and the theory behind encryption and permissions management.&lt;/p></description></item><item><title>Cisco Remote Scripts</title><link>https://matthewjayhunter.com/post/computing/cisco-remote-scripts/</link><pubDate>Tue, 24 Oct 2023 17:07:21 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/cisco-remote-scripts/</guid><description>&lt;p>What I&amp;rsquo;ve been working on for a while now: &lt;a href="https://blogs.cisco.com/security/remote-scripts-with-cisco-secure-endpoint">Cisco Remote Scripts&lt;/a>
&lt;/p>
&lt;blockquote>
&lt;p>With the introduction of Remote Scripts powered by Orbital, a search and response feature of Cisco Secure Endpoint in either the Advantage or the Premier tier, incident responders can respond to sophisticated threats with minimal business
disruption, and administrators can provide an overall safer and better user experience.
Remote scripts harness the power of Orbital Advanced Search capabilities, which provides hundreds of prepared queries
curated by Cisco’s Talos threat intelligence group, allowing you to quickly run complex queries on any endpoint.&lt;/p></description></item><item><title>find -exec</title><link>https://matthewjayhunter.com/post/tools/find_exec/</link><pubDate>Sun, 02 Apr 2023 15:43:55 -0500</pubDate><guid>https://matthewjayhunter.com/post/tools/find_exec/</guid><description>&lt;p>One very useful command for locating files and performing operations on them is &lt;code>find&lt;/code> with the &lt;code>-exec&lt;/code> option.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>find &lt;span style="color:#f92672">[&lt;/span>path&lt;span style="color:#f92672">]&lt;/span> &lt;span style="color:#f92672">[&lt;/span>arguments&lt;span style="color:#f92672">]&lt;/span> -exec &lt;span style="color:#f92672">[&lt;/span>command&lt;span style="color:#f92672">]&lt;/span> &lt;span style="color:#f92672">{}&lt;/span> &lt;span style="color:#ae81ff">\;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The part that&amp;rsquo;s tricky to remember is the escaped semicolon at the end.&lt;/p>
&lt;h2 id="per-file-vs-batch-mode">Per-file vs batch mode&lt;/h2>
&lt;p>The &lt;code>\;&lt;/code> terminator runs the command once per file found:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>find . -name &lt;span style="color:#e6db74">&amp;#34;*.log&amp;#34;&lt;/span> -exec rm &lt;span style="color:#f92672">{}&lt;/span> &lt;span style="color:#ae81ff">\;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># Equivalent to: rm file1.log; rm file2.log; rm file3.log&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The &lt;code>+&lt;/code> terminator batches files into fewer command invocations, which is faster:&lt;/p></description></item><item><title>Hacker versus cracker</title><link>https://matthewjayhunter.com/post/computing/hacker_versus_cracker/</link><pubDate>Sun, 02 Apr 2023 14:53:56 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/hacker_versus_cracker/</guid><description>&lt;p>In the early days of the internet, and even before that, there was a distinct difference in the terminology used for the people who obtained unauthorized access to computer systems. The term &lt;em>hacker&lt;/em> meant someone who created an interesting &lt;em>hack&lt;/em>, usually something interesting that used a system &amp;ndash; not necessarily even a computer system &amp;ndash; to do something outside its design intent. A &lt;a href="https://www.youtube.com/watch?v=H30zTv406Mo">Rube Goldberg machine&lt;/a>
 is a good example of a hack. So is &lt;a href="https://www.youtube.com/watch?v=u8I6qt_Z0Cg">playing music with printers&lt;/a>
. Conversely, &lt;em>cracker&lt;/em> was applied to people who broke into computer systems for nefarious purposes. There was often some overlap between the two, as people making interesting hacks often didn&amp;rsquo;t have authorized access to the systems they were using.&lt;/p></description></item><item><title>GIAC Incident Handler</title><link>https://matthewjayhunter.com/post/gcih/</link><pubDate>Thu, 30 Mar 2023 01:04:12 -0600</pubDate><guid>https://matthewjayhunter.com/post/gcih/</guid><description>&lt;p>I recently took and passed the &lt;a href="https://www.giac.org/certifications/certified-incident-handler-gcih/">GCIH Certification&lt;/a>
. It&amp;rsquo;s primarily focused on understanding how attackers behave, the tools they use, and why those tools do the things they do.&lt;/p></description></item><item><title>GIAC Certified Incident Handler</title><link>https://matthewjayhunter.com/post/computing/giac_certified_incident_handler/</link><pubDate>Wed, 29 Mar 2023 03:05:43 -0500</pubDate><guid>https://matthewjayhunter.com/post/computing/giac_certified_incident_handler/</guid><description>&lt;p>Last weekend, I took the certification exam to become a &lt;a href="https://www.credly.com/badges/baf9d77c-572a-4b4a-a008-fa7d74057a42">GIAC certified incident handler&lt;/a>
. Both the exam and the course material leading up to it were interesting enough to deserve a few comments.&lt;/p>
&lt;p>One thing I was moderately surprised by in the &lt;a href="https://www.sans.org/cyber-security-courses/hacker-techniques-incident-handling/">SANS course&lt;/a>
 was the initial focus on Linux shell tools and Windows Powershell. I&amp;rsquo;ve been using Linux for a long time, so there weren&amp;rsquo;t any surprises there. The Powershell material was new to me.&lt;/p></description></item><item><title>Projects</title><link>https://matthewjayhunter.com/projects/</link><pubDate>Mon, 26 Dec 2022 20:03:33 -0600</pubDate><guid>https://matthewjayhunter.com/projects/</guid><description>&lt;p>For the most up to date information, see &lt;a href="https://github.com/matthewjhunter">my personal github&lt;/a>
 and &lt;a href="https://github.com/infodancer">my organization github&lt;/a>
.&lt;/p></description></item><item><title>Books</title><link>https://matthewjayhunter.com/books/</link><pubDate>Mon, 26 Dec 2022 05:59:19 -0600</pubDate><guid>https://matthewjayhunter.com/books/</guid><description/></item><item><title>Gaming</title><link>https://matthewjayhunter.com/gaming/</link><pubDate>Mon, 26 Dec 2022 05:59:19 -0600</pubDate><guid>https://matthewjayhunter.com/gaming/</guid><description>&lt;p>I&amp;rsquo;ve been a tabletop roleplaying gamer since the early days of the hobby, starting with the Basic D&amp;amp;D Red Box. Over the years I&amp;rsquo;ve played and run campaigns across a range of systems, including AD&amp;amp;D 1st Edition, D&amp;amp;D 5th Edition, Shadowdark, Shadowrun, and the World of Darkness line from White Wolf. More recently, I&amp;rsquo;ve been drawn to the Old School Renaissance movement, which distills the best of classic-era rules into a coherent modern framework.&lt;/p></description></item><item><title>Why infodancer?</title><link>https://matthewjayhunter.com/whyinfodancer/</link><pubDate>Fri, 08 Oct 2021 18:54:51 -0500</pubDate><guid>https://matthewjayhunter.com/whyinfodancer/</guid><description>&lt;p>When I was a young programmer, I ran across a book called &lt;a href="https://www.amazon.com/gp/product/B004XMQXSY?tag=mjh04d-20">The Long Run&lt;/a>
 by &lt;a href="https://www.patreon.com/FatSam/posts">Daniel Keys Moran&lt;/a>
. This was not the first book I read that featured a programmer as the main character, but it was the first where the programmer was &lt;em>cool&lt;/em>.&lt;/p>
&lt;p>You might say it made an impression.&lt;/p>
&lt;p>The book introduces terminology for its various characters according to what they do on the Internet. The main character is a Player, what most people today would call a hacker, a cracker, or both. The antagonists were called Datawatch, effectively the internet police. And the people who made their living online, within the law, were webdancers.&lt;/p></description></item><item><title>About Me</title><link>https://matthewjayhunter.com/about/</link><pubDate>Fri, 08 Oct 2021 10:09:14 -0500</pubDate><guid>https://matthewjayhunter.com/about/</guid><description>&lt;p>I am a programmer at heart. If you want a formal title, it&amp;rsquo;s currently Security Officer. I&amp;rsquo;m working on &lt;a href="https://www.cisco.com/site/us/en/products/security/threat-grid/index.html">Cisco Secure Malware Analytics&lt;/a>
, a dynamic malware analysis and threat intelligence platform. I&amp;rsquo;m a &lt;a href="https://www.credly.com/badges/40d4315c-142f-4473-a5e6-1b55b5018ad3">CISSP&lt;/a>
, a &lt;a href="https://www.credly.com/badges/baf9d77c-572a-4b4a-a008-fa7d74057a42">GIAC certified incident handler&lt;/a>
 (GCIH), and a &lt;a href="https://www.credly.com/badges/3d640fec-cc33-41a9-87a2-c194208cf495">GIAC certified forensic analyst&lt;/a>
 (GCFA).&lt;/p>
&lt;p>I have worked for small startups, large corporations, and governments. Mostly, I write database-driven web applications. Sometimes those are just websites, and &lt;a href="https://www.ibm.com/docs/en/power8?topic=tools-hardware-management-console">sometimes they provide the user interface to a supercomputer&lt;/a>
. I have also written email server software, blogging software, and many other small utilities.&lt;/p></description></item><item><title>Daredevil Season 3</title><link>https://matthewjayhunter.com/post/reviews/film/daredevil_season_3/</link><pubDate>Thu, 25 Oct 2018 13:20:04 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/daredevil_season_3/</guid><description>&lt;p>Daredevil&amp;rsquo;s Season 3 on Netflix has a lot to offer, despite some early warning signs suggesting it might be overly political. The overall plotline involves the return of Wilson Fisk (now openly known as the Kingpin), and Daredevil&amp;rsquo;s attempts to keep him from regaining control of the city&amp;rsquo;s criminal underworld. We have an &lt;em>excellent&lt;/em> guest villain from Daredevil&amp;rsquo;s rogues&amp;rsquo; gallery, and there are &lt;em>many&lt;/em> well-done and subtle callbacks to that character&amp;rsquo;s earlier appearances in &lt;em>all formats&lt;/em>. We get a bit more backstory for Karen Page, which is interesting but awkwardly inserted. We get some significant revelations for Matt Murdock himself.&lt;/p></description></item><item><title>Iron Fist Season 2</title><link>https://matthewjayhunter.com/post/reviews/film/iron_fist_season_2/</link><pubDate>Wed, 24 Oct 2018 13:04:47 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/iron_fist_season_2/</guid><description>&lt;p>Season 2 represents a clear improvement over Season 1 of this show in every respect. The dynamic between Danny Rand and Christine (his girlfriend and sidekick) changes significantly for the better, with Christine&amp;rsquo;s (or rather, the actresses&amp;rsquo;) noticeably superior martial arts skills getting recognition. Danny&amp;rsquo;s own moral failings are pointed to and wrestled with. Some problems are recognized as unsolvable, at least by vigilante superheros. Like &lt;a href="https://matthewjayhunter.com/post/reviews/film/luke_cage_season_2/">Season 2 of Luke Cage&lt;/a>
, there&amp;rsquo;s some significant moral ambiguity present, but it&amp;rsquo;s somewhat less drastic.&lt;/p></description></item><item><title>Luke Cage Season 2</title><link>https://matthewjayhunter.com/post/reviews/film/luke_cage_season_2/</link><pubDate>Sun, 21 Oct 2018 13:53:56 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/luke_cage_season_2/</guid><description>&lt;p>I don&amp;rsquo;t have much to say about this one. It was better than the first season, but had too much focus on the criminals. There was significant moral ambiguity, particularly towards the end, which could either be a bad thing or a deliberate storytelling choice that will be redeemed next season. This season, it left a bad taste in my mouth. The cameo appearance by Iron Fist was good, but did not mesh well with Iron Fist Season 2 as a whole. (I&amp;rsquo;m not sure of the chronology). An improvement over the first season, not least because it was shorter and thus had less time to waste. If they had cut it down to 6 episodes instead of ten, it might have worked.&lt;/p></description></item><item><title>Legion</title><link>https://matthewjayhunter.com/post/reviews/film/legion_season_1/</link><pubDate>Fri, 31 Aug 2018 07:47:58 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/legion_season_1/</guid><description>&lt;p>Legion is a TV-form production licensed from Marvel, set in the X-Men side of the universe. Unless you are familiar with the character from the source material, it&amp;rsquo;s not going to feature any well known characters. The first season is very odd, as you might expect from a series revolving around a main character whose defining characteristic is his paranoid schizophrenia. Or, in other words, he hears voices. And occasionally sees things. And occasionally blows up his kitchen with his mind, and then forgets about it.&lt;/p></description></item><item><title>Interstellar</title><link>https://matthewjayhunter.com/post/reviews/film/interstellar/</link><pubDate>Fri, 07 Nov 2014 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/interstellar/</guid><description>&lt;p>The one-line review is that &lt;em>Interstellar&lt;/em> is the movie that 2001 should have been. It has a mysterious anomaly orbiting Saturn, a realistic depiction of a space mission to investigate and explore. But it also has so much more: incredible, moving performances from the leading actors and actresses, an emotional investment on both the personal and the species level, strange and wonderful and terrible things to find, and a powerful human drama that plays out across that background.&lt;/p></description></item><item><title>The Edge of Tomorrow</title><link>https://matthewjayhunter.com/post/reviews/film/the_edge_of_tomorrow/</link><pubDate>Fri, 06 Jun 2014 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/the_edge_of_tomorrow/</guid><description>&lt;p>*The Edge of Tomorrow is a Tom Cruise military sci-fi vehicle, and it&amp;rsquo;s a bundle of contradictions that actually work out to a pretty good movie. Let me start by hitting you with what is obvious from the trailer: alien invasion, near-future powered armor. Those aspects are mostly handled well. The power armor is much more realistic than, say, Tony Stark&amp;rsquo;s Iron Man armor; it&amp;rsquo;s basically strength-enhancing and load-carrying with some token &amp;ldquo;armor&amp;rdquo; and a few mounted weapons. Cruise even gets a chance to lampshade the fact that he isn&amp;rsquo;t wearing a helmet. (The real reason is that he is getting paid millions for his face to be visible, of course). The aliens are alien aliens and not very comprehensible to humanity.&lt;/p></description></item><item><title>Gravity</title><link>https://matthewjayhunter.com/post/reviews/film/gravity/</link><pubDate>Fri, 04 Oct 2013 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/gravity/</guid><description>&lt;p>Gravity, with Sandra Bullock in the lead role and George Clooney supporting, is an &lt;em>excellent&lt;/em> movie for fans of science fiction, but as &lt;a href="http://www.rosemarykirstein.com/2013/10/not-actually-science-fiction-and-thats-a-good-thing/">SF author Rosemary Kirstein points out&lt;/a>
 (and beware spoilers behind that link), it is more science fact than science fiction. Though the events are fictional, the technology underpinning them is not. We have multiple space stations in orbit. We have people who work in space on a regular basis, if not continually. We have taken science &lt;em>fiction&lt;/em>, and made it real. We have Star Trek communicators, Star Trek tricorders. We are working on self-driving cars and invisibility cloaks. We&amp;rsquo;re doing all that with science, and this movie sticks reasonably close to what we know about science.&lt;/p></description></item><item><title>The Illusionist</title><link>https://matthewjayhunter.com/post/reviews/film/the_illusionist/</link><pubDate>Fri, 18 Aug 2006 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/the_illusionist/</guid><description>&lt;p>Yesterday, I went to see &lt;em>Fearless&lt;/em>, Jet Li&amp;rsquo;s recent martial arts epic. It was pretty good, but also pretty much exactly what I expected. While there, I saw that the theater had allocated one of its screens to a flick called &lt;em>The Illusionist&lt;/em>, a movie I had never heard of or seen previews or promos for. Based on the little title strip with showtimes, it looked interesting, and a few minutes wirelessly checking &lt;a href="http://www.rottentomatoes.com/m/illusionist/">the reviews on Rotten Tomatos&lt;/a>
 suggested it wasn&amp;rsquo;t awful.&lt;/p></description></item><item><title>Ultraviolet</title><link>https://matthewjayhunter.com/post/reviews/film/ultraviolet_movie/</link><pubDate>Fri, 03 Mar 2006 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/ultraviolet_movie/</guid><description>&lt;p>So there&amp;rsquo;s a new vampire movie out, and I really need a few hours to sit and take in someone else&amp;rsquo;s vision of impossibility with the hope of seeing something cool. These factors combined to put me in a theater seat watching Ultraviolet, despite having nothing more than the posters and the previews to go on.&lt;/p>
&lt;p>I&amp;rsquo;ll give you the short version: it&amp;rsquo;s bad. Really bad. So bad I&amp;rsquo;m surprised I sat through the whole thing (which probably had a lot to do with the fact that if I didn&amp;rsquo;t, I would have to start thinking again &amp;ndash; something that I was trying to avoid in the few hours between work and more work that I had).&lt;/p></description></item><item><title>Underworld: Evolution</title><link>https://matthewjayhunter.com/post/reviews/film/underworld_evolution/</link><pubDate>Fri, 20 Jan 2006 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/underworld_evolution/</guid><description>&lt;p>The original &lt;a href="https://matthewjayhunter.com/post/reviews/film/underworld/">Underworld&lt;/a>
 could best be described as a movie made according to the rules of the World of Darkness roleplaying universe from White Wolf, postulating a supernatural underside to our familiar world where vampires and werewolves battle endlessly, with a plot based on cliches filtered through the rules of Hollywood scriptwriting. Despite that, it actually worked pretty well. The key, as with many such movies, is to ignore the plot holes, physics errors, and lack of characterization, instead focusing on shiny things that go bang, fanged cool factor, and Kate Beckinsale in a shiny skintight corset-enabled piece of tactical eveningwear.&lt;/p></description></item><item><title>Serenity</title><link>https://matthewjayhunter.com/post/reviews/film/serenity/</link><pubDate>Fri, 30 Sep 2005 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/serenity/</guid><description>&lt;p>Let me begin by setting the stage a little, and telling you about me. There&amp;rsquo;s not much about me that&amp;rsquo;s relevant to a movie review, but because Serenity originated from a television series, this preface is necessary: I don&amp;rsquo;t watch a lot of television.&lt;/p>
&lt;p>Perhaps that doesn&amp;rsquo;t get the point across. The last television series I followed regularly was Babylon 5, which ended in the last century. Cable news programs persisted until 2 years ago, but they also reached the end of my patience. So, in order for me to see a television series, it needs to be available on DVD, and it needs to have generated enough interest for me to have noticed&amp;hellip; and then it needs to be good enough to deserve a permanent copy.&lt;/p></description></item><item><title>Revenge of the Sith</title><link>https://matthewjayhunter.com/post/reviews/film/revenge_of_the_sith/</link><pubDate>Thu, 19 May 2005 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/revenge_of_the_sith/</guid><description>&lt;p>There&amp;rsquo;s not a lot that can be said about this movie. It&amp;rsquo;s probably the best of the prequels, but that&amp;rsquo;s not saying much. In fact, the best thing that can be said about this movie is that it doesn&amp;rsquo;t suck. I enjoyed most of it, although some moments were severely wince-inducing.&lt;/p>
&lt;p>The lightsaber battles were a minor disappointment, with camera tricks and plot events being used to &amp;ldquo;explain&amp;rdquo; the outcome rather than actual skill, but they weren&amp;rsquo;t awful. The central drama of the story was handled fairly well, albeit the acting could have been better.&lt;/p></description></item><item><title>Star Wars I: The Phantom Menace</title><link>https://matthewjayhunter.com/post/reviews/film/the_phantom_menace/</link><pubDate>Thu, 19 May 2005 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/the_phantom_menace/</guid><description>&lt;p>&lt;em>Star Wars: The Phantom Menace&lt;/em> was almost universally panned by fans of the original trilogy, and deservedly so. Hopes, and expectations, were high following the smashing success of the earlier films and the intervening two-decade improvement in technology. What the fans received was not what they had desired: a children&amp;rsquo;s movie that replaced many of the most popular elements with a cute kid and a racist portrayal of a repulsive amphibian.&lt;/p></description></item><item><title>EarthSea (miniseries)</title><link>https://matthewjayhunter.com/post/reviews/film/earthsea/</link><pubDate>Mon, 13 Dec 2004 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/earthsea/</guid><description>&lt;p>Ursula K Leguin&amp;rsquo;s &lt;em>EarthSea&lt;/em> trilogy broke new ground in the fantasy genre, and has truly earned a place of honor. Unfortunately, as with many television adaptions, the Sci-Fi Channel&amp;rsquo;s attempt to bring that story to the television screen preserved almost nothing of that. Although the miniseries is less bitter and painful than Tehanu, it lacks the qualities that made the original trilogy such a wonderful creation. It also lacks the special effects to effectively carry out the magic that is such a vital component of EarthSea. Leguin herself has all but disowned the adaption, claiming that while she was offered a consultant&amp;rsquo;s role, the end result was a story she could neither recognize nor prevent.&lt;/p></description></item><item><title>I, Robot</title><link>https://matthewjayhunter.com/post/reviews/film/i_robot/</link><pubDate>Fri, 16 Jul 2004 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/i_robot/</guid><description>&lt;p>I would not classify this as an adaptation of &amp;ldquo;I, Robot&amp;rdquo; for Asimov purists. Rather, it&amp;rsquo;s an action-adventure set in Asimov&amp;rsquo;s universe that happens to draw upon some of the characters from the stories. But as a stand-alone story, it&amp;rsquo;s remarkably well done, better than most of what Hollywood produces by leaps and bounds. If the success of Lord of the Rings inspired this movie to cash in on the perceived new market, it worked and it worked well.&lt;/p></description></item><item><title>Crouching Tiger, Hidden Dragon</title><link>https://matthewjayhunter.com/post/reviews/film/crouching_tiger_hidden_dragon/</link><pubDate>Fri, 14 May 2004 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/crouching_tiger_hidden_dragon/</guid><description>&lt;p>Crouching Tiger, Hidden Dragon is an early attempt to bring foreign films &amp;ndash; specifically, the Chinese kung fu fantasy &amp;ndash; to an American audience with high production values and more sophisticated plotting than the usual chopsui. It succeeds admirably, and was justly recognized with multiple awards.&lt;/p>
&lt;p>As a fan of chopsui, I was not disappointed. The kung fu is powerful in this movie. Although much is fast, it is not too fast to follow, and the camerawork does an excellent job of maintaining a smooth visual continuity that showcases even the more complex fighting. The fighting utilitizes a variety of weaponry, without skimping on the unarmed combat, and there are several brilliant sequences. Unfortunately, the movie also suffers from an overuse of wirework and flight sequences; while those are to some extent a tradition in the genre, it&amp;rsquo;s not a tradition that I approve of. Such scenes only mildly detract from the rest, however.&lt;/p></description></item><item><title>Innocence</title><link>https://matthewjayhunter.com/post/reviews/film/innocence/</link><pubDate>Mon, 26 Apr 2004 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/innocence/</guid><description>&lt;p>&lt;em>Innocence&lt;/em> is a sequel to the popular anime &lt;a href="https://matthewjayhunter.com/post/reviews/film/ghost_in_the_shell/">Ghost in the Shell&lt;/a>
. And it&amp;rsquo;s a sequel that gives the lie to sequelitis: &lt;em>Innocence&lt;/em> may even surpass it&amp;rsquo;s predecessor.&lt;/p>
&lt;p>Fans of &lt;em>Ghost in the Shell&lt;/em> will recognize Batou, who returns in the sequel as the solemn, philosophical cyborg cop. Since the disappearance of the Major, his partner, he has withdrawn further and further into himself. He&amp;rsquo;s assigned a new partner and put on a case involving robots that are killing their human owners and committing suicide.
As you might expect, this is used as an opportunity to explore some of the same themes as before. When we learn to manipulate the senses and memories of other human beings, how can you really know what&amp;rsquo;s real? What is it that makes a person &lt;em>human&lt;/em>, if their body is merely a biological machine? What happens when the machines stop acting like machines, and start acting like humans?&lt;/p></description></item><item><title>Firefly</title><link>https://matthewjayhunter.com/post/reviews/film/firefly/</link><pubDate>Wed, 14 Apr 2004 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/firefly/</guid><description>&lt;p>Firefly is a TV series that ran for a single short season (12 episodes) before being canceled. The driving force behind it&amp;rsquo;s creation was Joss Whedon, and it&amp;rsquo;s received rave reviews from lots of libertarian types. As such, I thought I&amp;rsquo;d give it a try.&lt;/p>
&lt;p>The series is set in the far future, focusing on the Firefly-class spacecraft &lt;em>Serenity&lt;/em> and it&amp;rsquo;s crew of criminals, smugglers, and generally ornery types. One of the recurring villians is the Alliance, which did some conquering in the backstory and in the series present plays the role of overbearing, aggressive government. If that wasn&amp;rsquo;t enough to ensure a boycott from the politically-correct crowd, one of the recurring characters is a prostitute and the leading character casually shoots a cop during one of the early episodes.&lt;/p></description></item><item><title>Kindred the Embraced</title><link>https://matthewjayhunter.com/post/reviews/film/kindred_the_embraced/</link><pubDate>Sun, 04 Apr 2004 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/kindred_the_embraced/</guid><description>&lt;p>Kindred: The Embraced is something I think was fairly unique in its time&amp;hellip; a television series (or, arguably, soap opera) based on a roleplaying game. Specifically, based on White Wolf&amp;rsquo;s Storyteller system, the first game in which was &lt;em>Vampire: The Masquerade&lt;/em>. As you might expect from such a humble beginning, this series wasn&amp;rsquo;t exactly the best thing on TV. Even so, it wasn&amp;rsquo;t awful.&lt;/p>
&lt;p>The series lasted for 6 episodes and was not renewed. It did well enough to be issued on tape, and then reissued on DVD a few years later. I suspect most people buying the tapes and DVDs are people who like the roleplaying game, rather than people who watched the show.&lt;/p></description></item><item><title>Vampire Hunter D</title><link>https://matthewjayhunter.com/post/reviews/film/vampire_hunter_d/</link><pubDate>Wed, 17 Mar 2004 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/vampire_hunter_d/</guid><description>&lt;p>Fans of the vampire genre and anime have both embraced &lt;em>Vampire Hunter D&lt;/em>, the tale of a conflicted vampire hunter in a far-future world where a nobility made up of vampires rule a distinctly more supernatural and dangerous earth. A bizarre mix of magic and technology allows humans to hold their own against the monsters, but when especially powerful monsters are involved, they must turn to the specialists. Want to know about vampires? Ask a vampire hunter.&lt;/p></description></item><item><title>Vampire Hunter D: Bloodlust</title><link>https://matthewjayhunter.com/post/reviews/film/vampire_hunter_d_bloodlust/</link><pubDate>Fri, 27 Feb 2004 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/vampire_hunter_d_bloodlust/</guid><description>&lt;p>If &lt;a href="https://matthewjayhunter.com/post/reviews/film/vampire_hunter_d/">Vampire Hunter D&lt;/a>
 was an excuse for a high &amp;ldquo;cool factor&amp;rdquo;, &lt;em>Bloodlust&lt;/em> turns the cool factor up to 11 and adds moral ambiguity, a much longer runtime, better art, and much improved dialog. Perhaps the best way to describe this sequel is simply this: everything you liked about the first one is present in the sequel, and there are a lot of really good additions that bring depth and quality to the sequel. What the original could be understood to have if you read between the lines is made explicit here.&lt;/p></description></item><item><title>Hellsing</title><link>https://matthewjayhunter.com/post/reviews/film/hellsing/</link><pubDate>Sun, 28 Dec 2003 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/hellsing/</guid><description>&lt;p>&lt;em>Hellsing&lt;/em> is a fairly unique take on the vampire mythos in anime. The art is done in an unusual style, more abstract than I would normally prefer, and somewhat repetitive. The characters are intriguing if occasionally hackneyed. Although it&amp;rsquo;s hard to pack much plot into individual episodes, due to time constraints and the need for cool visuals, there is a metaplot that develops throughout the episodes that looks to be going somewhere interesting.&lt;/p></description></item><item><title>UltraViolet</title><link>https://matthewjayhunter.com/post/reviews/film/ultraviolet/</link><pubDate>Thu, 20 Nov 2003 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/ultraviolet/</guid><description>&lt;p>&lt;em>Ultraviolet&lt;/em> is one of those interesting experiments that occasionally show up on British television. Mostly, I&amp;rsquo;m a fan of British Comedy; for some reason the really good britcom just hits my funnybone when a lot of more American comedy falls flat. (If you&amp;rsquo;re looking for recommendations, you can&amp;rsquo;t go wrong with BlackAdder or Red Dwarf). But sometimes something that&amp;rsquo;s not a comedy comes along and nevertheless works.&lt;/p>
&lt;p>I heard about &lt;em>Ultraviolet&lt;/em> by word of mouth. Friends of friends had seen it and declared it wonderful. Nobody had it, but they knew someone who knew someone who had once borrowed it. Eventually, I bought the whole set, sight-unseen, just to see what all the fuss was about. It helps that I got a basic scenario from friends, since I&amp;rsquo;m a mild vampire junkie, and while &lt;em>Ultraviolet&lt;/em> never actually says &amp;ldquo;vampire&amp;rdquo;, it&amp;rsquo;s definitely about vampires.&lt;/p></description></item><item><title>Underworld</title><link>https://matthewjayhunter.com/post/reviews/film/underworld/</link><pubDate>Fri, 19 Sep 2003 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/underworld/</guid><description>&lt;p>If &lt;a href="https://matthewjayhunter.com/post/reviews/film/kindred_the_embraced/">Kindred: The Embraced&lt;/a>
 is the Storyteller universe transferred to television, &lt;em>Underworld&lt;/em> is the Storyteller universe transferred to the big screen with the serial numbers filed off. Vampires and werewolves at war with a extra helping of melodrama, all taking place under the veneer of the modern world. Unfortunately, taking that universe to the silver screen didn&amp;rsquo;t work out much better than the small screen.&lt;/p>
&lt;p>This movie was portrayed as an action-adventure with &amp;ldquo;romance&amp;rdquo; as the plot motivator. It has enough action to qualify without a doubt, but it&amp;rsquo;s relatively uninspired action. The romance angle is so thin as to be meaningless; the characters supposedly &amp;ldquo;in love&amp;rdquo; are willing to buck their entire supernatural society after spending little more than a few hours together. Watching it, I struggled to retain my suspension of disbelief and ultimately failed.&lt;/p></description></item><item><title>Ghost in the Shell</title><link>https://matthewjayhunter.com/post/reviews/film/ghost_in_the_shell/</link><pubDate>Sun, 12 Jan 2003 03:29:07 +0000</pubDate><guid>https://matthewjayhunter.com/post/reviews/film/ghost_in_the_shell/</guid><description>&lt;p>&lt;em>Ghost in the Shell&lt;/em> is an anime that has already attained classic status. It merges the potential for beautiful visualization with a powerful storyline exploring philosophical questions. The resulting mix is a very impressive experience, and undoubtedly one of the best examples of the anime art form.&lt;/p>
&lt;p>The original dialog is, of course, in Japanese. The translation has some awkardness and occasionally renders the details of the plot hard to follow, but not in a manner that detracts from the really interesting element: exploring the idea of the soul in a world where humans are gradually replacing more and more of their bodies with machines, and even brains can be hacked and reprogrammed.&lt;/p></description></item><item><title>Debian GNU/Linux 2.1 Unleashed</title><link>https://matthewjayhunter.com/publications/debian-unleashed/</link><pubDate>Tue, 28 Dec 1999 00:00:00 -0600</pubDate><guid>https://matthewjayhunter.com/publications/debian-unleashed/</guid><description>&lt;div class="thumbnail-link float-start me-3 mb-2">
 &lt;a href="https://www.amazon.com/Debian-GNU-Linux-2-1-Unleashed/dp/0672317001/">
 &lt;img src="https://matthewjayhunter.com/publications/debian-unleashed/debian-unleashed_hu_72baa77a2cf3b02a.webp"
 alt="Debian GNU/Linux 2.1 Unleashed"
 class="img-fluid" />
 &lt;/a>
 &lt;p class="image-caption">Debian GNU/Linux 2.1 Unleashed&lt;/p>
 &lt;/div>
 


&lt;p>&lt;a href="https://www.amazon.com/dp/0672317001/?tag=mjh04d-20">Debian GNU/Linux 2.1 Unleashed&lt;/a>
 is a comprehensive guide to installing, configuring, and managing Debian Linux.&lt;/p>
&lt;p>Published by Sams in December 1999, this 1,119-page book covers everything from basic installation to advanced topics like setting up Internet servers, configuring firewalls, and integrating Debian into networks. The book also provides extensive coverage of working with open-source databases and programming in several languages and shells.&lt;/p></description></item><item><title>The Hunter Set: Cursum Perficio</title><link>https://matthewjayhunter.com/swords/thehunterset/</link><pubDate>Thu, 01 Jan 1970 00:33:42 +0000</pubDate><guid>https://matthewjayhunter.com/swords/thehunterset/</guid><description>&lt;p>The completed custom sword and dagger set featuring green leather, brass fittings, and emerald accents.&lt;/p>
&lt;h2 id="the-commission">The Commission&lt;/h2>
&lt;p>&lt;strong>Commissioned:&lt;/strong> 2022–2023&lt;br>
&lt;strong>Maker:&lt;/strong> Jamie Lundell, &lt;a href="https://dragonsbreathforge.com/">Dragon&amp;rsquo;s Breath Forge&lt;/a>
&lt;/p>
&lt;p>This custom sword and matching dagger were commissioned to serve as a modern heirloom for the Hunter family. The design bridges historical Scottish lineage with personal symbolism, featuring high-complexity pattern-welded steel, precious stones, and a unique twist on the traditional family crest.&lt;/p>
&lt;h2 id="heritage--symbolism">Heritage &amp;amp; Symbolism&lt;/h2>
&lt;h3 id="clan-hunter">Clan Hunter&lt;/h3>
&lt;p>The design draws heavily from the historic Clan Hunter of Scotland.&lt;/p></description></item><item><title>Contact Card</title><link>https://matthewjayhunter.com/card/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://matthewjayhunter.com/card/</guid><description/></item></channel></rss>