<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Forging the Truth on Jamal Hansen</title><link>https://jamalhansen.com/series/forging-the-truth/</link><description>Recent content in Forging the Truth on Jamal Hansen</description><image><title>Jamal Hansen</title><url>https://jamalhansen.com/social-card.png</url><link>https://jamalhansen.com/social-card.png</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 12 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jamalhansen.com/series/forging-the-truth/index.xml" rel="self" type="application/rss+xml"/><item><title>The Shell Switch</title><link>https://jamalhansen.com/blog/vscode-default-shell-bash/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://jamalhansen.com/blog/vscode-default-shell-bash/</guid><description>Your AI writes Bash. If VS Code opens PowerShell, you translate every command by hand. Four clicks make Bash the default, and one command proves it worked.</description><content:encoded><![CDATA[<h2 id="the-shell-switch-setting-your-native-tongue">The Shell Switch: Setting Your Native Tongue</h2>
<h2 id="the-veil">The Veil</h2>
<p>When you open a terminal in VS Code, is it PowerShell blue? That default shell was chosen for you, not by you. The AI that&rsquo;s helping you code assumes Bash. If your terminal doesn&rsquo;t match, you&rsquo;re not building. You&rsquo;re translating.</p>
<h2 id="the-dross">The Dross</h2>
<p>The AI speaks Bash. Every path it gives you, every command it suggests, every script it writes &ndash; Bash. When your terminal is PowerShell, every <code>/</code> becomes a <code>\</code> you have to fix by hand. You&rsquo;re spending mental energy on translation instead of on the problem.</p>
<h2 id="the-strike">The Strike</h2>
<p>Set Bash as your default terminal in VS Code.</p>
<ol>
<li>Open the Terminal in VS Code.</li>
<li>Click the dropdown next to the <code>+</code> icon.</li>
<li>Select <strong>&ldquo;Select Default Profile&rdquo;</strong>.</li>
<li>Choose <strong>Bash</strong> (or WSL/Ubuntu).</li>
</ol>
<p>Verify it worked:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">echo</span> <span class="nv">$SHELL</span>
</span></span></code></pre></div><p>You should see <code>/bin/bash</code>. If you do, the switch is done.</p>
<h2 id="the-truth">The Truth</h2>
<p>Consistency is infrastructure. When your terminal matches what the AI expects, its suggestions run the first time. You stop second-guessing whether a command failed because of the code or because of the shell. That&rsquo;s one less variable between you and knowing.</p>
<p>Next up: your terminal is set up. Now let&rsquo;s open a project in VS Code without touching the mouse.</p>
]]></content:encoded></item><item><title>The VS Code Terminal Shortcut</title><link>https://jamalhansen.com/blog/vscode-terminal-shortcut/</link><pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate><guid>https://jamalhansen.com/blog/vscode-terminal-shortcut/</guid><description>One keystroke opens the VS Code terminal on every platform. That shortcut is the gap between what the AI said and knowing the code actually runs.</description><content:encoded><![CDATA[<h2 id="the-veil">The Veil</h2>
<p>Every time you move your hand to the mouse to find a terminal, you&rsquo;re losing the race against your own AI. I was clicking through the View menu for months before I found this. VS Code has a terminal built in, and you can summon it without touching the mouse.</p>
<h2 id="the-dross">The Dross</h2>
<p>Vibe-coding is high-frequency work. You&rsquo;re jumping between the code the AI gave you and the terminal where you need to run it. If that jump takes three clicks, you&rsquo;ll stop doing it. You&rsquo;ll start &ldquo;guessing&rdquo; if the code works instead of &ldquo;knowing.&rdquo;</p>
<h2 id="the-strike">The Strike</h2>
<p>Summon the integrated terminal with one keystroke. Same shortcut on every platform.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Ctrl + `
</span></span></code></pre></div><p>This works in VS Code on all platforms. Mac users: <code>Ctrl</code>, not <code>Cmd</code>.</p>
<p>Try it now. Open and close the terminal five times in five seconds. Feel the friction disappear. You&rsquo;re no longer visiting the terminal. You&rsquo;re living in it.</p>
<h2 id="the-truth">The Truth</h2>
<p>Every hallucination your AI generates has a name, a path, or a dependency you can check. The terminal is the forge where you test what the AI shaped. One keystroke closes the gap between &ldquo;the AI said so&rdquo; and &ldquo;I know it works.&rdquo; That gap is where bad code ships.</p>
<p>Next up: we will discuss how not all terminal windows are created equal.</p>
]]></content:encoded></item><item><title>The Anvil You are Missing</title><link>https://jamalhansen.com/blog/forging-the-truth-the-anvil-you-are-missing/</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate><guid>https://jamalhansen.com/blog/forging-the-truth-the-anvil-you-are-missing/</guid><description>The terminal window is a powerful tool that lets you quickly verify what LLMs tell you that they have done</description><content:encoded><![CDATA[<h2 id="the-veil">The Veil</h2>
<p>I was introduced to computing on a Commodore and then moved to a DOS-based PC. Both used a terminal window as the primary interface, and I figured out the basics of both. I was comfortable typing commands before I ever used a mouse. Then college introduced me to UNIX, and I hit a wall. I avoided it for years and lived safely in the comfort of the Windows GUI.</p>
<p>Eventually, I came back. I was an aspiring developer, and by the late nineties, I switched my home computer&rsquo;s operating system to Linux. I had to start learning bash and the terminal. It took time to get comfortable with it.</p>
<p>Those skills sat in the background for years. Now AI has shown up, and they are more valuable than ever.</p>
<h2 id="the-dross">The Dross</h2>
<p>AI is fast. It generates code, writes config files, and scaffolds entire projects. It also lies. Confidently. It will tell you to import a library that does not exist, reference a file it never created, and call a method that was deprecated two versions ago. It presents all of this the same way it presents correct code: cleanly, with explanation, and zero hesitation.</p>
<p>If you only work inside the chat window, it all seems like reality.</p>
<p>The terminal is where you find out. Run the code. Read the error. Check if the file actually exists. That is how you burn away what is false and keep what is real.</p>
<h2 id="the-strike">The Strike</h2>
<p>This series is one command at a time. Each post is short. Each post has something you can run.</p>
<p>Start here:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">ls
</span></span></code></pre></div><p>That is it. List what is in your current directory. The AI told you it created three files. Did it? <code>ls</code> will tell you the truth.</p>
<p>This is the whole series in one command. The terminal does not guess. It does not hallucinate. It reports what is actually there.</p>
<h2 id="the-truth">The Truth</h2>
<p>The terminal took me years to get comfortable with. I am not going to tell you it is easy or that you will love it immediately. What I will tell you is that it is the one part of your workflow that will not deceive you.</p>
<p>Coding with AI moves fast. The terminal is how you keep up without getting lost.</p>
<p>This series will build that up one command at a time. Next up: getting the terminal open and in front of you.</p>
]]></content:encoded></item></channel></rss>