<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>svnscha - claude-code</title>
    <subtitle>automating annoying tasks, sharing tips, and embracing less frustration</subtitle>
    <link rel="self" type="application/atom+xml" href="https://svnscha.de/tags/claude-code/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://svnscha.de"/>
    <generator uri="https://astro.build/">Astro</generator>
    <updated>2026-09-10T00:00:00+00:00</updated>
    <id>https://svnscha.de/tags/claude-code/atom.xml</id>
    <entry xml:lang="en">
        <title>🚀 New Release: mcp-windbg 1.3.0</title>
        <published>2026-09-10T00:00:00+00:00</published>
        <updated>2026-09-10T00:00:00+00:00</updated>
        <author>
          <name>Sven Scharmentke</name>
        </author>
        <link rel="alternate" type="text/html" href="https://svnscha.de/posts/mcp-windbg-1-3-0-release/"/>
        <id>https://svnscha.de/posts/mcp-windbg-1-3-0-release/</id>
        <summary type="html">The MCP server, Claude Code skills, and crash-analysis agent are now separate plugins for use with your preferred installation.</summary>
        <content type="html" xml:base="https://svnscha.de/posts/mcp-windbg-1-3-0-release/">&lt;p&gt;Version 1.3.0 of &lt;strong&gt;mcp-windbg&lt;/strong&gt; separates the Claude Code integration into three plugins. If you've already installed mcp-windbg yourself, you can now add the debugging skills and crash-analysis agent to that connection.&lt;/p&gt;
&lt;h2 id=&quot;three-separate-plugins&quot;&gt;Three Separate Plugins&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&quot;/posts/mcp-windbg-1-2-0-release/&quot;&gt;1.2.0 release&lt;/a&gt; bundled the server, skills, and agent together. I split them so you can choose the parts you need:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plugin&lt;/th&gt;
&lt;th&gt;What it provides&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mcp-windbg-uvx&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The MCP server, launched with uvx, and default symbol settings&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mcp-windbg-skills&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Four debugging skills&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mcp-windbg-agents&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The &lt;code&gt;crash-analyst&lt;/code&gt; agent&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The uvx plugin now ships only the server configuration. Skills and agents are independent: install either, both, or neither.&lt;/p&gt;
&lt;h2 id=&quot;skills-and-agents-for-your-existing-server&quot;&gt;Skills and Agents for Your Existing Server&lt;/h2&gt;
&lt;p&gt;If mcp-windbg is already registered in Claude Code, add the marketplace and install the workflows you want:&lt;/p&gt;
&lt;pre class=&quot;astro-code dark-plus&quot; style=&quot;background-color:#1E1E1E;color:#D4D4D4; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;/plugin marketplace add svnscha/mcp-windbg&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;/plugin install mcp-windbg-skills@mcp-windbg&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;/plugin install mcp-windbg-agents@mcp-windbg&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The skills cover the same four tasks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;analyze-dump&lt;/code&gt;&lt;/strong&gt; for crash dump analysis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;debug-remote&lt;/code&gt;&lt;/strong&gt; for live user-mode debugging.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;kernel-debug&lt;/code&gt;&lt;/strong&gt; for live kernel debugging.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;windbg-doctor&lt;/code&gt;&lt;/strong&gt; for checking the debugging setup.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;They use your configured MCP connection, whether it runs a native executable, a Python installation, or an HTTP service. Setup diagnosis checks that server's actual launcher and host. It no longer assumes every installation needs uv.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;pre class=&quot;astro-code dark-plus&quot; style=&quot;background-color:#1E1E1E;color:#D4D4D4; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;/mcp-windbg-skills:analyze-dump C:\dumps\app.dmp&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The agent is available as &lt;code&gt;mcp-windbg-agents:crash-analyst&lt;/code&gt;. It investigates a dump and reports its likely cause, debugger evidence, and next steps. It uses the MCP tools directly and does not need the skills plugin.&lt;/p&gt;
&lt;p&gt;If you want the plugin to start the server through uvx, install it as well:&lt;/p&gt;
&lt;pre class=&quot;astro-code dark-plus&quot; style=&quot;background-color:#1E1E1E;color:#D4D4D4; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;/plugin install mcp-windbg-uvx@mcp-windbg&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Windows and CDB/KD are still required on the debugging host. The server's built-in MCP prompts are available independently of these plugins.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Enterprise environments:&lt;/strong&gt; Managed &lt;code&gt;allowedMcpServers&lt;/code&gt; settings can cause Claude Code to silently skip plugin-bundled MCP servers (&lt;a href=&quot;https://github.com/anthropics/claude-code/issues/32882&quot;&gt;issue #32882&lt;/a&gt;). I recommend &lt;a href=&quot;https://svnscha.github.io/mcp-windbg/reference/clients/#registering-the-server-directly&quot;&gt;manual installation and registration&lt;/a&gt; plus the skills plugin, with the agents plugin if needed. The server must still be permitted by your organization's MCP policy.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;upgrading-from-the-bundled-plugin&quot;&gt;Upgrading from the Bundled Plugin&lt;/h2&gt;
&lt;p&gt;Update the marketplace and server plugin:&lt;/p&gt;
&lt;pre class=&quot;astro-code dark-plus&quot; style=&quot;background-color:#1E1E1E;color:#D4D4D4; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;/plugin marketplace update mcp-windbg&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;/plugin update mcp-windbg-uvx@mcp-windbg&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then install the skills and agents plugins using the commands above if you want to keep those workflows.&lt;/p&gt;
&lt;p&gt;Skill commands now start with &lt;code&gt;/mcp-windbg-skills:&lt;/code&gt; instead of &lt;code&gt;/mcp-windbg:&lt;/code&gt;. For example, &lt;code&gt;/mcp-windbg:analyze-dump&lt;/code&gt; becomes &lt;code&gt;/mcp-windbg-skills:analyze-dump&lt;/code&gt;. References to the agent should use &lt;code&gt;mcp-windbg-agents:crash-analyst&lt;/code&gt;. Restart Claude Code if the new components do not appear.&lt;/p&gt;
&lt;p&gt;See the full &lt;a href=&quot;https://github.com/svnscha/mcp-windbg/releases/tag/v1.3.0&quot;&gt;v1.3.0 release notes&lt;/a&gt; and the &lt;a href=&quot;https://svnscha.github.io/mcp-windbg/reference/plugin/&quot;&gt;plugin guide&lt;/a&gt; for installation, switching servers, and updating each plugin.&lt;/p&gt;
</content>
    </entry>
    <entry xml:lang="en">
        <title>🚀 New Release: mcp-windbg 1.2.0</title>
        <published>2026-08-27T00:00:00+00:00</published>
        <updated>2026-08-27T00:00:00+00:00</updated>
        <author>
          <name>Sven Scharmentke</name>
        </author>
        <link rel="alternate" type="text/html" href="https://svnscha.de/posts/mcp-windbg-1-2-0-release/"/>
        <id>https://svnscha.de/posts/mcp-windbg-1-2-0-release/</id>
        <summary type="html">mcp-windbg now ships as a Claude Code plugin with four debugging skills and a crash-analysis agent.</summary>
        <content type="html" xml:base="https://svnscha.de/posts/mcp-windbg-1-2-0-release/">&lt;p&gt;Version 1.2.0 of &lt;strong&gt;mcp-windbg&lt;/strong&gt; adds a Claude Code plugin. It packages the MCP server together with the instructions and workflows needed for common debugging tasks, so Claude Code can install and use it without a separate Python setup or a hand-written MCP configuration.&lt;/p&gt;
&lt;h2 id=&quot;installing-the-plugin&quot;&gt;Installing the Plugin&lt;/h2&gt;
&lt;p&gt;Add the mcp-windbg marketplace and install the plugin from Claude Code:&lt;/p&gt;
&lt;pre class=&quot;astro-code dark-plus&quot; style=&quot;background-color:#1E1E1E;color:#D4D4D4; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;/plugin marketplace add svnscha/mcp-windbg&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;/plugin install mcp-windbg-uvx@mcp-windbg&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The plugin starts mcp-windbg with &lt;code&gt;uvx&lt;/code&gt;, which downloads the pinned version from PyPI the first time it runs. You still need Windows, CDB, and &lt;code&gt;uv&lt;/code&gt;, but you do not need to install the Python package yourself.&lt;/p&gt;
&lt;p&gt;The existing &lt;code&gt;pip install mcp-windbg&lt;/code&gt; setup remains available for other MCP clients and for anyone who prefers a manual configuration.&lt;/p&gt;
&lt;h2 id=&quot;skills-for-common-debugging-tasks&quot;&gt;Skills for Common Debugging Tasks&lt;/h2&gt;
&lt;p&gt;The plugin includes four skills:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;analyze-dump&lt;/code&gt;&lt;/strong&gt; guides the analysis of a Windows crash dump.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;debug-remote&lt;/code&gt;&lt;/strong&gt; works with a live user-mode target through CDB.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;kernel-debug&lt;/code&gt;&lt;/strong&gt; handles live kernel debugging with KD.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;windbg-doctor&lt;/code&gt;&lt;/strong&gt; checks the local setup when CDB, KD, symbols, or the MCP server are not working as expected.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These skills only load when they are needed, which keeps the plugin's normal context use small. The underlying MCP tools are still available directly when you want to run a specific command or control a session yourself.&lt;/p&gt;
&lt;h2 id=&quot;the-crash-analyst-agent&quot;&gt;The Crash Analyst Agent&lt;/h2&gt;
&lt;p&gt;The plugin also includes a read-only &lt;strong&gt;&lt;code&gt;crash-analyst&lt;/code&gt;&lt;/strong&gt; agent. It can investigate a dump independently and return:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;its likely cause&lt;/li&gt;
&lt;li&gt;the debugger evidence supporting that conclusion&lt;/li&gt;
&lt;li&gt;alternative causes it checked&lt;/li&gt;
&lt;li&gt;practical next steps&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The agent is kept away from mutating tools. It can inspect a debugging session, but it cannot resume a target or perform another action that would change its state.&lt;/p&gt;
&lt;h2 id=&quot;symbols-by-default&quot;&gt;Symbols by Default&lt;/h2&gt;
&lt;p&gt;Readable stack traces depend on symbols, and missing symbol configuration is a common source of poor results. The plugin now provides the Microsoft symbol server as the default value for &lt;code&gt;_NT_SYMBOL_PATH&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you already have &lt;code&gt;_NT_SYMBOL_PATH&lt;/code&gt; configured, the plugin leaves it unchanged. Existing private symbol servers and custom cache paths therefore continue to work.&lt;/p&gt;
&lt;h2 id=&quot;a-small-121-follow-up&quot;&gt;A Small 1.2.1 Follow-up&lt;/h2&gt;
&lt;p&gt;Version 1.2.1 followed later the same day. It reorganized the README installation guide by client and fixed a corrupted &lt;code&gt;C:\dumps\app.dmp&lt;/code&gt; example that contained a hidden control character. There were no runtime changes, so it does not need a separate post.&lt;/p&gt;
&lt;h2 id=&quot;getting-started&quot;&gt;Getting Started&lt;/h2&gt;
&lt;p&gt;Use the two plugin commands above for Claude Code, or upgrade the Python package for another MCP client:&lt;/p&gt;
&lt;pre class=&quot;astro-code dark-plus&quot; style=&quot;background-color:#1E1E1E;color:#D4D4D4; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#DCDCAA&quot;&gt;pip&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt; install&lt;/span&gt;&lt;span style=&quot;color:#569CD6&quot;&gt; -U&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt; mcp-windbg&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;See the full release notes for &lt;a href=&quot;https://github.com/svnscha/mcp-windbg/releases/tag/v1.2.0&quot;&gt;v1.2.0&lt;/a&gt; and &lt;a href=&quot;https://github.com/svnscha/mcp-windbg/releases/tag/v1.2.1&quot;&gt;v1.2.1&lt;/a&gt;. The source and plugin marketplace are available in the &lt;a href=&quot;https://github.com/svnscha/mcp-windbg&quot;&gt;mcp-windbg repository&lt;/a&gt;.&lt;/p&gt;
</content>
    </entry>
    <entry xml:lang="en">
        <title>Ollama Now Speaks Messages API</title>
        <published>2026-01-22T00:00:00+00:00</published>
        <updated>2026-01-22T00:00:00+00:00</updated>
        <author>
          <name>Sven Scharmentke</name>
        </author>
        <link rel="alternate" type="text/html" href="https://svnscha.de/posts/claude-code-ollama-support/"/>
        <id>https://svnscha.de/posts/claude-code-ollama-support/</id>
        <summary type="html">Ollama v0.14 supports the Anthropic Messages API, allowing Claude Code to work with local models.</summary>
        <content type="html" xml:base="https://svnscha.de/posts/claude-code-ollama-support/">&lt;h2 id=&quot;the-news-ollama-learns-a-new-language&quot;&gt;The News: Ollama Learns a New Language&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Claude Code can now talk to your locally-hosted models&lt;/strong&gt; without any extra adapters, proxies, or dark magic.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&quot;Ollama v0.14.0 and later are now compatible with the Anthropic Messages API, making it possible to use tools like Claude Code with open-source models.&quot;
— &lt;a href=&quot;https://ollama.com/blog/claude&quot;&gt;Ollama Blog&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cue the excitement: &lt;em&gt;Finally! Unlimited coding on steroids! No more watching your token budget evaporate! 24/7 AI-assisted development without the API bill anxiety!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;...right?&lt;/p&gt;
&lt;h3 id=&quot;why-test-this-you-ask&quot;&gt;Why Test This, You Ask?&lt;/h3&gt;
&lt;p&gt;Naturally, I had to try this immediately. What better excuse to fire up the DGX Spark and see what these local models can really do?&lt;/p&gt;
&lt;p&gt;If you're running a DGX Spark (or any beefy GPU setup), this means you can now fire up Claude Code and have it talk to whatever model you've got running locally. Zero cloud dependency. Zero API costs eating into your coffee budget. Just pure, local AI goodness.&lt;/p&gt;
&lt;p&gt;But does it actually &lt;em&gt;work&lt;/em&gt;? Let's find out.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;setting-it-up&quot;&gt;Setting It Up&lt;/h2&gt;
&lt;h3 id=&quot;which-model&quot;&gt;Which Model?&lt;/h3&gt;
&lt;p&gt;The &lt;a href=&quot;https://docs.ollama.com/integrations/claude-code&quot;&gt;official docs&lt;/a&gt; recommend a few options:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cloud models&lt;/strong&gt; (if you're into that sort of thing):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;glm-4.7:cloud&lt;/code&gt;, &lt;code&gt;minimax-m2.1:cloud&lt;/code&gt;, &lt;code&gt;qwen3-coder:480b&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Local models&lt;/strong&gt; (the fun part):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;qwen3-coder&lt;/code&gt; - Excellent for coding tasks&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gpt-oss:20b&lt;/code&gt; - Strong general-purpose model&lt;/li&gt;
&lt;li&gt;&lt;code&gt;glm-4.7-flash&lt;/code&gt; - Deep reasoning, needs Ollama 0.14.3&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I tested several of these locally - &lt;code&gt;qwen3-coder&lt;/code&gt; is genuinely impressive for coding tasks, and &lt;code&gt;glm-4.7-flash&lt;/code&gt; (just released with Ollama 0.14.3) surprised me with its deep reasoning approach. Cloud models? Kind of defeats the purpose of running local, doesn't it?&lt;/p&gt;
&lt;h3 id=&quot;bump-ollamas-context-window&quot;&gt;Bump Ollama's Context Window&lt;/h3&gt;
&lt;p&gt;The &lt;a href=&quot;https://docs.ollama.com/integrations/claude-code&quot;&gt;docs recommend at least 32k context&lt;/a&gt;. Use &lt;code&gt;systemctl edit&lt;/code&gt; for a persistent override that survives updates:&lt;/p&gt;
&lt;pre class=&quot;astro-code dark-plus&quot; style=&quot;background-color:#1E1E1E;color:#D4D4D4; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#DCDCAA&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt; systemctl&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt; edit&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt; ollama.service&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Add this in the editor that opens:&lt;/p&gt;
&lt;pre class=&quot;astro-code dark-plus&quot; style=&quot;background-color:#1E1E1E;color:#D4D4D4; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;ini&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;[Service]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6&quot;&gt;Environment&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt;&quot;OLLAMA_CONTEXT_LENGTH=32000&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6&quot;&gt;Environment&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt;&quot;OLLAMA_FLASH_ATTENTION=1&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6&quot;&gt;Environment&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt;&quot;OLLAMA_KV_CACHE_TYPE=f16&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Bonus performance tweaks:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;OLLAMA_FLASH_ATTENTION=1&lt;/code&gt; - Normal attention loads the entire context into memory at once. Flash Attention breaks it into chunks, processes them sequentially, and combines the results. Same output, way less memory.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OLLAMA_KV_CACHE_TYPE=f16&lt;/code&gt; - Keeps the K/V cache at full precision (default). Use &lt;code&gt;q8_0&lt;/code&gt; to halve memory if you're tight on VRAM.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;How much context can you actually fit?&lt;/strong&gt; The &lt;a href=&quot;https://apxml.com/tools/vram-calculator&quot;&gt;VRAM Calculator&lt;/a&gt; is your friend. Play around with your model size, quantization, and available VRAM - it'll tell you the exact settings to max out each model.&lt;/p&gt;
&lt;p&gt;Then restart:&lt;/p&gt;
&lt;pre class=&quot;astro-code dark-plus&quot; style=&quot;background-color:#1E1E1E;color:#D4D4D4; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#DCDCAA&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt; systemctl&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt; restart&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt; ollama.service&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;powershell-helper-for-your-work-machine&quot;&gt;PowerShell Helper for Your Work Machine&lt;/h3&gt;
&lt;p&gt;This little function lives in my &lt;code&gt;$PROFILE&lt;/code&gt;:&lt;/p&gt;
&lt;pre class=&quot;astro-code dark-plus&quot; style=&quot;background-color:#1E1E1E;color:#D4D4D4; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;powershell&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color:#DCDCAA&quot;&gt; Enter-ClaudeSpark&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9CDCFE&quot;&gt;   $env:ANTHROPIC_AUTH_TOKEN&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt;&quot;ollama&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9CDCFE&quot;&gt;   $env:ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt;&quot;http://spark-1:8080&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9CDCFE&quot;&gt;   $env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now I just type &lt;code&gt;Enter-ClaudeSpark&lt;/code&gt; and Claude Code magically routes everything to my DGX Spark. The &lt;code&gt;ANTHROPIC_AUTH_TOKEN&lt;/code&gt; is set to &lt;code&gt;ollama&lt;/code&gt; because Ollama doesn't actually need a real token - it just checks if the header exists. Clever.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;my-test-meeting-destruction-therapy&quot;&gt;My Test: Meeting Destruction Therapy&lt;/h2&gt;
&lt;p&gt;Public benchmarks do not always reflect how a model feels in everyday use. I care more about how well it follows my language and understands the task, so I made a small practical test of my own.&lt;/p&gt;
&lt;p&gt;I needed something creative, visual, and complex enough to separate the wheat from the chaff. What better way than asking these models to build a &lt;strong&gt;Breakout-style game where you &quot;reschedule&quot; your weekly meetings by smashing them with a paddle&lt;/strong&gt;?&lt;/p&gt;
&lt;p&gt;The Prompt:&lt;/p&gt;
&lt;pre class=&quot;astro-code dark-plus&quot; style=&quot;background-color:#1E1E1E;color:#D4D4D4; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;md&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;# Breakout-Style Calendar Game Prompt&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;## Objective&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;Build a &lt;/span&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;**simple, modern Breakout-inspired browser game**&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; where a bouncing ball clears &lt;/span&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;**calendar-style blocks representing weekly meetings**&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;, and a horizontal paddle is used to “reschedule” (break) them.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;## Core Concept&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; The playfield should resemble a &lt;/span&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;**weekly calendar view**&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; rather than a classic arcade board.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Each block represents a &lt;/span&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;**meeting/event**&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; (rounded rectangles, subtle borders).&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; The paddle metaphorically “reschedules” meetings by bouncing the ball upward.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; The ball “clears” meetings as they are hit.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;## Visual &amp;amp; UX Direction (Very Important)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt; **Look &amp;amp; feel inspired by modern calendar apps**&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; such as &lt;/span&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;**Google Calendar**&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; or &lt;/span&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;**Outlook Calendar**&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;  -&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Soft neutral background (light or dark mode acceptable)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;  -&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Rounded corners, subtle shadows, clean typography&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;  -&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Muted but intentional color palette (event colors feel like calendar categories)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;  -&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Gentle grid or column structure reminiscent of a weekly view&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Avoid retro/arcade styling (no pixel fonts, neon colors, or harsh outlines).&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Animations should feel &lt;/span&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;**smooth and calm**&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;, not frantic:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;  -&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Subtle easing on ball movement&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;  -&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Soft fade/scale effects when meetings are cleared&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;  -&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Light hover or focus states where appropriate&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;## Technical Requirements&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Use &lt;/span&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;**only vanilla HTML, CSS, and JavaScript**&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; (no frameworks or libraries).&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Single-page implementation.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt; **Responsive and centered layout**&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; that works on desktop and mobile.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Canvas or DOM-based rendering is acceptable, but visuals should remain crisp.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Code should be clean, readable, and well-commented.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;## Gameplay Requirements&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Paddle controlled via mouse/touch (keyboard optional).&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Ball physics should feel smooth and predictable.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Winning state when all meetings are cleared.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Optional: subtle sound effects or score labeled as &lt;/span&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;**“Meetings Cleared”**&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;## Polish Encouraged&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Thoughtful spacing and alignment&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Calendar-like typography (system UI fonts preferred)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Micro-interactions and transitions that reinforce the scheduling metaphor&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6;font-weight:bold&quot;&gt;## Implementation&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6796E6&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt; Create index.html, style.css and game.js.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;When finished, suggest that the user can host and test the game locally using:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;python -m http.server&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I threw this at several models through Claude Code and timed the results:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Time&lt;/th&gt;
&lt;th&gt;Rating&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Claude Opus 4.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;2m 30s&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;qwen3-coder:30b&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;1m 48s&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gpt-oss:20b&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;4m 24s&lt;/td&gt;
&lt;td&gt;⭐⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;glm-4.7-flash&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;8m 45s&lt;/td&gt;
&lt;td&gt;⭐⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;nemotron-3-nano:30b&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;2m 46s&lt;/td&gt;
&lt;td&gt;⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ministral-3:14b&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;🚩&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rnj-1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;🚩&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;claude-opus-45-reference&quot;&gt;Claude Opus 4.5 (Reference)&lt;/h3&gt;
&lt;p&gt;Not self-hosted - this is the cloud-based frontline model, included for comparison. Understood the creative brief, nailed the game mechanics, produced clean and maintainable code. No surprises there.&lt;/p&gt;
&lt;video class=&quot;cast&quot; src=&quot;/casts/2026-01-22 opus.mp4&quot; controls&gt;
  Your browser does not support the video tag.
&lt;/video&gt;
&lt;h3 id=&quot;qwen3-coder30b&quot;&gt;qwen3-coder:30b&lt;/h3&gt;
&lt;p&gt;Faster than expected, and it actually produced something playable. At 30B parameters, genuinely impressive.&lt;/p&gt;
&lt;video class=&quot;cast&quot; src=&quot;/casts/2026-01-22 qwen3.mp4&quot; controls&gt;
  Your browser does not support the video tag.
&lt;/video&gt;
&lt;h3 id=&quot;gpt-oss20b&quot;&gt;gpt-oss:20b&lt;/h3&gt;
&lt;video class=&quot;cast&quot; src=&quot;/casts/2026-01-22 gpt oss.mp4&quot; controls&gt;
  Your browser does not support the video tag.
&lt;/video&gt;
&lt;p&gt;&lt;img src=&quot;/screenshots/2026-01-22-dgx-spark-gpt-oss-20b-usage.png&quot; alt=&quot;gpt-oss:20b resource usage&quot;&gt;&lt;/p&gt;
&lt;p&gt;For this one I went all out - maxed context window at 95k with full precision KV cache:&lt;/p&gt;
&lt;pre class=&quot;astro-code dark-plus&quot; style=&quot;background-color:#1E1E1E;color:#D4D4D4; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;ini&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6&quot;&gt;Environment&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt;&quot;OLLAMA_CONTEXT_LENGTH=95232&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6&quot;&gt;Environment&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt;&quot;OLLAMA_FLASH_ATTENTION=1&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#569CD6&quot;&gt;Environment&lt;/span&gt;&lt;span style=&quot;color:#D4D4D4&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#CE9178&quot;&gt;&quot;OLLAMA_KV_CACHE_TYPE=f16&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Solid result! The 20B variant delivered a working game with proper paddle controls. Not as polished as qwen3-coder, but definitely playable. A good middle-ground option if you want something from the GPT family.&lt;/p&gt;
&lt;h3 id=&quot;glm-47-flash&quot;&gt;glm-4.7-flash&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;&quot;As the strongest model in the 30B class, GLM-4.7-Flash offers a new option for lightweight deployment that balances performance and efficiency.&quot;&lt;/em&gt; - Bold claims require testing. This one needs Ollama 0.14.3 (just released!).&lt;/p&gt;
&lt;video class=&quot;cast&quot; src=&quot;/casts/2026-01-22 glm.mp4&quot; controls&gt;
  Your browser does not support the video tag.
&lt;/video&gt;
&lt;p&gt;Why the 8+ minute runtime? GLM spends serious time in its thinking stage. Watch the Ollama output live and you'll see deep, methodical reasoning - no &quot;what if&quot; self-doubt loops, just clear and consistent problem-solving. The result shows: best physics of all the OSS models I tested. The ball movement felt smooth and responsive. The catch? It completely ignored the meeting-themed UI brief and went with a generic breakout style instead. So close, yet so far.&lt;/p&gt;
&lt;h3 id=&quot;nemotron-3-nano30b&quot;&gt;nemotron-3-nano:30b&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;/screenshots/2026-01-22-dgx-spark-nemotron-3-nano-30b-breakout.png&quot; alt=&quot;nemotron-3-nano:30b&quot;&gt;&lt;/p&gt;
&lt;p&gt;It rendered something! Got the calendar theme, colorful meeting blocks, even a &quot;Meetings Cleared&quot; counter. But... where's the ball? Where's the paddle? Apparently Nemotron thought breakout meant &quot;break out of implementing game mechanics.&quot; Nice UI though.&lt;/p&gt;
&lt;p&gt;This one makes me a bit sad, honestly. NVIDIA has been releasing incredible AI stuff lately - the voice models alone are mind-blowing - but Nemotron-3-Nano just flopped here. Maybe it shines elsewhere, but for Claude Code workflows? Not ready.&lt;/p&gt;
&lt;h3 id=&quot;ministral-314b&quot;&gt;ministral-3:14b&lt;/h3&gt;
&lt;p&gt;I really tried with this one. Multiple attempts, different prompts, fresh sessions. Every single time: Claude Code just... completed. Immediately. No files, no code, no output. It's like the model and Claude Code looked at each other and mutually agreed to do nothing. 🤷&lt;/p&gt;
&lt;h3 id=&quot;rnj-1&quot;&gt;rnj-1&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;&quot;8B parameter open-weight, dense models trained from scratch by Essential AI, optimized for code and STEM with capabilities on par with SOTA open-weight models.&quot;&lt;/em&gt; - 130k downloads, fresh release, sounded promising. The &lt;a href=&quot;https://www.essential.ai/research/rnj-1&quot;&gt;VSCode + Cline demo on their blog&lt;/a&gt; looked great - but that was a Python game, not our HTML/JS breakout challenge.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/screenshots/2026-01-22-dgx-spark-rnj-1-usage.png&quot; alt=&quot;rnj-1 resource usage&quot;&gt;&lt;/p&gt;
&lt;p&gt;Unfortunately, no results here. Another one that just didn't produce anything usable with Claude Code. At least the resource usage was... well, not surprising for an 8B model.&lt;/p&gt;
&lt;h2 id=&quot;summary&quot;&gt;Summary&lt;/h2&gt;
&lt;p&gt;So, Ollama now speaks the Messages API, and Claude Code can talk to local models. I put it through a fun benchmark - building a calendar breakout game - and the results were clear: Opus still delivers the goods, but the OSS models are catching up fast.&lt;/p&gt;
&lt;p&gt;For Claude Code agentic workflows, &lt;code&gt;qwen3-coder&lt;/code&gt; is the clear winner in the OSS space - fast, capable, and actually follows instructions. &lt;code&gt;glm-4.7-flash&lt;/code&gt; has potential but needs work on following prompts. &lt;code&gt;gpt-oss:20b&lt;/code&gt; is a solid middle-ground option.&lt;/p&gt;
&lt;p&gt;This actually reflects my broader model philosophy: ChatGPT-style models for basic tasks - rephrasing, docs, research. Anthropic for serious coding work. And now in the open-source world, &lt;code&gt;qwen3-coder&lt;/code&gt; is genuinely fun to work with.&lt;/p&gt;
&lt;p&gt;Is this going to replace Claude Opus for serious work? Not today. But for experimentation, learning, and those times when you want to see what the open-source world can do? This setup is fantastic.&lt;/p&gt;
&lt;h2 id=&quot;next-steps&quot;&gt;Next Steps&lt;/h2&gt;
&lt;p&gt;Want to try this yourself?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Install Ollama ≥ 0.14: &lt;code&gt;curl -L https://ollama.com/install.sh | sh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Pull your model of choice: &lt;code&gt;ollama pull qwen3-coder:30b&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Bump the context window to at least 32k&lt;/li&gt;
&lt;li&gt;Add the PowerShell helper to your &lt;code&gt;$PROFILE&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Fire up Claude Code and start breaking some meetings... I mean, coding&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;And who knows - at the rate these models are improving, maybe in a few months I'll have to eat my words about frontline models being irreplaceable.&lt;/p&gt;
&lt;p&gt;In the meantime, building a game that lets you destroy your weekly meetings with a bouncing ball might be the most satisfying thing I've prompted this month.&lt;/p&gt;
&lt;p&gt;Happy hacking! 🎮&lt;/p&gt;
</content>
    </entry>
</feed>
